繁体   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