關(guān)于python爬蟲

最近在弄一個需求,需要寫到爬蟲,本來是使用php的,但是php沒有一款可以滿足需要的爬蟲框架,于是轉(zhuǎn)而使用python。
目前比較流利的python爬蟲框架有好多,這次最主要接觸了ghost.pyspynner
解析就使用了beautiful
這篇文章最主要還是記錄一下一些坑。
先說一下這兩款的共性,就是都會用到pyqt,所以安裝之前一定先要安裝pyqt,至于原因,則是因為兩者都是基于webkit瀏覽器內(nèi)核的爬蟲框架,所以會使用到pyqt,總之你懂的。

關(guān)于ghost.py

安裝這款框架過程曲折離奇,我首先是在osx系統(tǒng)下面安裝的,首先我
pip install ghost.py
寫好了例子,之后提示沒有qt庫
然后則安裝pyqt
sudo brew install pyqt
安裝完畢之后,你還會發(fā)現(xiàn)錯誤,因為你還需要安裝pyside
pip instll pyside
再之后,你才可以使用ghost.py,這過程究竟有多少辛酸,由于沒有及時記錄,忘記了,如果你發(fā)現(xiàn)了什么其他的惡心的錯誤可以聯(lián)系我,我們來討論。
當(dāng)你安裝好,照著網(wǎng)上的教程亂敲一陣代碼之后,你會發(fā)現(xiàn),python始終提示你

ghost no attritube open

當(dāng)你看到這幾個觸目驚心的單詞,又完全沒有頭緒的時候!你就能體會我當(dāng)時的痛苦,一個代碼都沒錯,但是就是報錯,就是不能用!我Google了一陣,才發(fā)現(xiàn)!是版本問題,網(wǎng)上的教程太老了,全部都是0.1的,現(xiàn)在都0.2了,你會發(fā)現(xiàn),0.2的使用方法改變了,在0.2的里面,你不可以直接open,你需要這樣寫

from ghost import Ghost

ghost = Ghost()
session = ghost.start()
session.open("Your Url")

順便附上文檔

關(guān)于spynner

安裝過程略過,假設(shè)你安裝成功ghost.py,那這款框架,你可以直接pip搞定。
然而我想要說的坑并不在這里!

  1. spynner在解析中文網(wǎng)站的時候,全部都是亂碼,意思就是解析不了,然而如何改變這種情況呢?我所搜到的方法就是在python的Lib/site-packages/下,找到spynner的源碼包,然后在/spynner下修改browser.py
    把477行的def _get_html(self):函數(shù)下的return改成return unicode(self.webframe.toHtml().toUtf8(), 'utf-8', 'ignore')
  2. 還有一個問題,就是windows用戶可能會遇到,.egg文件結(jié)尾的文件并不能以文件夾形式打開,那這時候,你只要用壓縮軟件打開,然后解壓出來,就可以了,再之后你只要把文件替換回去,就可以解決這個問題

關(guān)于beautifulsoup

你在使用beautifulsoup的時候可能會遇到一個問題,也是編碼問題,這時候,你記得在實例化beautifulsoup的時候加上from_encoding="utf-8"參數(shù),就可以解決這個問題。

關(guān)于這兩天爬蟲遇到的坑就記錄到此。

后記

最近我又開始研究爬蟲的東西了,然后我發(fā)現(xiàn),其實有一種很好的解決方案,來自于chrome的擴展插件。其實如果利用插件功能,配合你服務(wù)器上的接口用ajax來接收數(shù)據(jù),能夠很簡單的實現(xiàn)爬蟲功能,并且純模擬瀏覽器操作,成本非常低,能夠省去好多繁復(fù)的研究各種框架的時間

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • # Python 資源大全中文版 我想很多程序員應(yīng)該記得 GitHub 上有一個 Awesome - XXX 系列...
    aimaile閱讀 26,846評論 6 427
  • 今天實驗室又雙叕斷網(wǎng)了,我能有什么辦法呢。。我也很無奈啊……正好借此機會總結(jié)下最近學(xué)習(xí)的相關(guān)東西。 1.先檢查實驗...
    lulu007閱讀 630評論 0 0
  • GitHub 上有一個 Awesome - XXX 系列的資源整理,資源非常豐富,涉及面非常廣。awesome-p...
    若與閱讀 19,364評論 4 417
  • 環(huán)境管理管理Python版本和環(huán)境的工具。p–非常簡單的交互式python版本管理工具。pyenv–簡單的Pyth...
    MrHamster閱讀 3,969評論 1 61
  • 誰都有拜師學(xué)藝的過程,對于求知若渴,恨不得有十八班武藝七十二變壓身的我,這一路走過來,哪能少了師父陪伴?。∥野莸膸?..
    鶴壽千年閱讀 348評論 2 1

友情鏈接更多精彩內(nèi)容