从Ruby到Python:Crawlers [关闭]


问题内容

从目前的情况来看,这个问题不适合我们的问答形式。我们希望答案能得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。

8年前关闭。

过去几天,我已经开始学习python。我想知道用python编写爬虫的等效方法。

所以在红宝石中我使用:

  1. nokogiri 用于抓取html并通过css标签获取内容
  2. Net::HTTPNet::HTTP::Get.new(uri.request_uri).body从URL获取JSON数据

python中的这些等效项是什么?


问题答案:

主要是,您必须将“抓取器”
/抓取器(将从Web服务器下载文件/数据的python库/程序/函数)和将读取此数据并解释数据的解析器分开。就我而言,我必须抓取并获得一些“公开”的政府信息,但这些信息对下载/数据不友好。对于这个项目,我使用了scrapy
[1]。

主要是设置“ starter_urls”,即我的机器人将抓取/获取的URL,并在使用函数“解析器”检索/解析此数据之后。

对于解析/检索,您将需要一些html,lxml提取器,因为90%的数据就是这样。

现在关注您的问题:

用于数据爬网

  1. cra草
  2. 请求[2]
  3. Urllib [3]

用于解析数据

  1. Scrapy / lxml或scrapy + other
  2. lxml [4]
  3. 美丽汤[5]

并且请记住“抓取”,抓取不仅适用于网络,也适用于电子邮件。您可以在此处查看有关此问题的另一个问题[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/

[5]
-http://www.crummy.com/software/BeautifulSoup/

[6]
-Python读取我的Outlook电子邮件邮箱并解析消息