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