我已經開始學習python了。我想知道在python中編寫爬網程序的等效方式。從Ruby轉到Python:爬行器
所以在紅寶石我使用:
nokogiri
一種從URL獲取JSON數據抓取html和通過CSS標籤入門內容Net::HTTP
和Net::HTTP::Get.new(uri.request_uri).body
什麼是這些等價物在python中?
我已經開始學習python了。我想知道在python中編寫爬網程序的等效方式。從Ruby轉到Python:爬行器
所以在紅寶石我使用:
nokogiri
一種從URL獲取JSON數據抓取html和通過CSS標籤入門內容Net::HTTP
和Net::HTTP::Get.new(uri.request_uri).body
什麼是這些等價物在python中?
好
主要是你要分開「刮」 /爬蟲蟒蛇的lib /程序/功能將從Web服務器下載文件/數據和解析器將讀取這些數據並解釋數據。 在我的情況下,我不得不廢棄並得到一些「開放」但不下載/數據友好的政府信息。 對於這個項目,我使用了scrapy [1]。
主要是我設置了'starter_urls',這是我的機器人將抓取/獲取的url,並且在我使用函數'parser'來檢索/解析這些數據之後。
對於解析/檢索,您將需要一些html,lxml提取器,因爲90%的數據將是該提取器。
現在聚焦在你的問題:
對於數據爬行
對於解析數據
也請記住 '爬行' 和報廢不僅是網頁,電子郵件了。可以查看,這裏[6]
[1] = http://scrapy.org/
[2]另一個問題 - http://docs.python-requests.org/en/latest/
[3] - http://docs.python.org/library/urllib.html
[4] - http://lxml.de/
[0123] - http://www.crummy.com/software/BeautifulSoup/
[6] - Python read my outlook email mailbox and parse messages
Python中事實上的真實世界HTML解析器是beautiful soup。目前Python的requests庫對於HTTP很流行(儘管標準庫具有類似的功能,但是具有相當麻煩的API)。
scrappy和harvestman項目是專爲爬行目的而定製的真實世界爬蟲。
我也使用Beautiful Soup,它非常簡單的方法如何解析HTML。當我爬行一些網頁時,我也使用The ElementTree XML API。就我個人而言,我非常喜歡ElementTree庫(它易於解析XML)。
看看scrapy項目。 – zsquare
@zsquare - Scrapy是一個有趣的項目,但不幸的是它沒有解決這個問題。 – pguardiario
@pguardiario這個問題本身過於寬泛。 – zsquare