簡體   English   中英

我應該使用什么純Python庫來抓取網站?

[英]What pure Python library should I use to scrape a website?

我目前有一些Ruby代碼用來刮一些網站。 我當時正在使用Ruby,因為當時我正在使用Ruby on Rails創建一個站點,這只是有意義的。

現在我正試圖將其移植到Google App Engine,並繼續陷入困境。

我已將Python Mechanize移植到與Google App Engine一起使用,但它不支持使用XPATH進行DOM檢查。

我已經嘗試了內置的ElementTree,但是當它遇到'&mdash'時,我在第一個HTML blob上窒息了。

我是否一直試圖在那里破解ElementTree,或者我是否嘗試使用其他東西?

謝謝,馬克

美麗的湯。

lxml - 比elementtree好100倍

還有scrapy ,可能更多你的胡同。

有許多使用pyparsing編寫的網頁抓取器的例子,例如這個 (從yahoo.com提取所有URL鏈接)和這個 (用於提取NIST NTP服務器地址)。 一定要使用pyparsing helper方法makeHTMLTags,而不是手工編寫"<" + Literal(tagname) + ">" - makeHTMLTags創建一個非常強大的解析器,可以容納額外的空間,大小寫不一致,意外的屬性,具有各種引用樣式的屬性值,依此類推。 Pyparsing還可以讓您更好地控制特殊語法問題,例如自定義實體。 此外,它是純Python,自由許可,占用空間小(單個源模塊),因此很容易使用其他應用程序代碼放入GAE應用程序。

BeautifulSoup很好,但它的API很笨拙。 嘗試使用ElementSoup ,它為BeautifulSoup提供ElementTree接口。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM