【发布时间】:2019-05-22 08:28:16
【问题描述】:
我有大约 100 万个网页列表,我想有效地从这些页面中提取文本。目前我在 python 中使用 BeautifulSoup 库从 HTML 中获取文本,并使用请求命令来获取网页的 html。除了文本之外,这种方法还会提取一些额外的信息,例如是否在正文中列出了任何 javascript。
您能否建议我任何合适且有效的方式来完成这项任务。我查看了scrapy,但它看起来像是在抓取特定的网站。我们可以将特定网页的列表传递给它以获取信息吗?
提前谢谢你。
【问题讨论】:
-
你好 Samresh。首先,您需要找到一种至少适用于一页的方法,然后尝试找到一种适用于您的百万页的有效方法。 Scrapy 不会为您带来任何在内容方面比 requests 和 beautifulsoup 提供更好结果的神奇方法。如果你对这些结果感到满意,你可以在 scrapy 上做基本相同的事情,它将帮助你并行化请求。如果您对使用 beautifoulsoup 的结果不满意,请注意您的问题根本不容易解决。
-
但是“我查看了scrapy,但它看起来像是在抓取特定的网站”是不正确的,当然您可以传递特定网页的列表:docs.scrapy.org/en/latest/intro/overview.html(请参阅 start_urls 属性)
标签: java python web-scraping beautifulsoup scrapy