我有一个需要大量数据抓取的项目。
我一直在研究 Scrapy,到目前为止我对它印象非常深刻,但我正在寻找执行以下操作的最佳方法:
1)我想抓取多个 URL 并为每个要抓取的 URL 传递相同的变量,例如,假设我想从 Bing、Google 和 Yahoo 返回关键字“python”的最高结果。
我想抓取http://www.google.co.uk/q=python
,http://www.yahoo.com?q=python
并且http://www.bing.com/?q=python
(不是实际的 URL,但你明白了)
我找不到使用关键字指定动态 URL 的方法,我能想到的唯一选择是在 PHP 或其他构建 URL 的文件中生成一个文件,并指定 scrapy 来抓取 URL 中的链接。
2) 显然每个搜索引擎都有自己的标记,所以我需要区分每个结果以找到相应的 XPath 以从中提取相关数据
3)最后,我想将抓取项目的结果写入数据库(可能是 redis),但只有当所有 3 个 URL 都完成抓取时,基本上我想从 3 个搜索引擎建立一个“配置文件”和将输出结果保存在一个事务中。
如果有人对这些观点有任何想法,我将不胜感激。
谢谢