在mac终端中使用Python 2.7.3进行Web爬网的代码?

时间:2013-03-28 21:11:37

标签: python screen-scraping wget web-crawler

在编码方面,我是一位社会科学家和一位完整的新手/菜鸟。我已经搜索了其他问题/教程,但我无法获得如何抓取专门针对评论部分的新闻网站的要点。理想情况下,我想告诉python抓取一些页面并将所有注释作为.txt文件返回。我试过了

from bs4 import BeautifulSoup
import urllib2
url="http://www.xxxxxx.com"

并且在我收到错误消息之前我就可以说bs4不是模块。我很感激对此提出任何帮助,如果您决定回复,请为我提供帮助!

我可以在终端上运行wget,并从网站上获取各种文本,如果我能真正弄清楚如何将单个输出html文件保存到一个大的.txt文件中,那就太棒了。我会回答这两个问题。

3 个答案:

答案 0 :(得分:2)

试试Scrapy。它是一个快速的高级屏幕抓取和网络爬行框架,用于抓取网站并从其页面中提取结构化数据。它可用于各种用途,从数据挖掘到监控和自动化测试。

答案 1 :(得分:0)

你很可能会遇到这种情况,但在某些情况下,如果网站使用第三方服务进行评论,例如Disqus,你会发现你将无法以这种方式提取评论。只是一个抬头。

我之前已经走过这条路线,不得不将剧本定制到特定网站的布局/设计/等。

如果您不介意使用Python的字符串处理函数进行后处理,我发现libcurl非常方便。

如果您不需要纯粹在Python中实现它,您可以使用wget的递归镜像选项来处理内容提取,然后编写您的python代码来解析下载的文件。

答案 2 :(得分:0)

我也会在这里加两分钱。

要检查的第一件事是你安装了美丽的汤,它生活在可以找到的地方。这里有各种各样的问题。

我的经历与您的经历类似:我在网络创业公司工作,我们有很多用户注册,但没有提供有关他们工作的信息(这对我们来说非常重要)。所以我的想法是在他们的电子邮件地址中从域中抓取主页和“关于我们”页面,并尝试围绕我捕获的数据放置学习算法来预测他们的工作。每个域的结果都存储为文本文件。

不幸的是(对你而言...对不起),我最终得到的代码有点复杂。问题是,当你进行刮擦时,你最终会得到很多垃圾,你必须将其过滤掉。你最终会遇到编码问题,并且(假设你想在这里学习一些东西)你将不得不摆脱低价值的词。总代码约为1000行,如果您有兴趣,我会发布一些可能对您有帮助的重要内容。