我需要从商业网站获取产品 ID。产品 ID 是 URL 末尾的数字系列。
例如:
http://example.com/sp/123170/
的产品 ID 为 123170
。
一些要求:
请为我推荐一些关于这项工作的想法和开源代码。我找到了 scrapy.org 和 Beautifulsoup。还请给我关于它们的建议,哪一个更适合这个目的?
对于定期调度,您可以在应用程序引擎中查找cron jobs。
此外,Scrapy 是一个很好的网页抓取框架。您可以使用的其他替代方案是使用 beautiful soup 和 requests API (支持身份验证和多线程下载)。
但我建议你在废弃之前,看看该商业网站是否提供了一些API。
lxml.html 是目前最好的 python html 解析器。将您的文档解析为lxml,并使用xpath找到您需要的数据。
您需要一个爬网程序和一种在每个爬网会话之间保留数据的方法。
对于爬虫,我推荐
scrapy
。对于大多数用途来说,这确实比自己动手要好得多。如果你使用scrapy
,你就不需要BeautifulSoup,因为Scrapy使用lxml
,在我看来这是目前最好的Html解析器
要在会话之间保留数据,您可以将爬网数据存储在数据库中,我更喜欢使用
sqlalchemy
来实现此目的,但这可能不适用于 App Engine。 sqlalchemy
支持很多数据库引擎,其中sqlite3是最容易设置的。