需要抓取Python建议

问题描述 投票:0回答:3

我需要从商业网站获取产品 ID。产品 ID 是 URL 末尾的数字系列。

例如:

http://example.com/sp/123170/
的产品 ID 为
123170

一些要求:

  • 代码必须由Python编写
  • 由于产品数量较多,我希望软件因某些原因停止后能够重新启动。
  • 每天可以跑一次。
  • 新产品每天都会更新/添加,因此软件需要能够处理这一问题。 如果可能的话,我很乐意与 Google 应用引擎合作

请为我推荐一些关于这项工作的想法和开源代码。我找到了 scrapy.orgBeautifulsoup。还请给我关于它们的建议,哪一个更适合这个目的?

python web-scraping google-app-engine web-crawler
3个回答
1
投票

对于定期调度,您可以在应用程序引擎中查找cron jobs

此外,Scrapy 是一个很好的网页抓取框架。您可以使用的其他替代方案是使用 beautiful soup 和 requests API (支持身份验证和多线程下载)。

但我建议你在废弃之前,看看该商业网站是否提供了一些API。


1
投票

lxml.html 是目前最好的 python html 解析器。将您的文档解析为lxml,并使用xpath找到您需要的数据。

http://lxml.de/lxmlhtml.html#parsing-html


1
投票

您需要一个爬网程序和一种在每个爬网会话之间保留数据的方法。

对于爬虫,我推荐

scrapy
。对于大多数用途来说,这确实比自己动手要好得多。如果你使用
scrapy
,你就不需要BeautifulSoup,因为Scrapy使用
lxml
,在我看来这是目前最好的Html解析器

要在会话之间保留数据,您可以将爬网数据存储在数据库中,我更喜欢使用

sqlalchemy
来实现此目的,但这可能不适用于 App Engine。
sqlalchemy
支持很多数据库引擎,其中sqlite3是最容易设置的。

© www.soinside.com 2019 - 2024. All rights reserved.