[英]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.