Scrapy:如何构建从多个URL收集信息的项目?

时间:2012-08-04 17:13:20

标签: python web-scraping scrapy pipeline

经过多年不情愿地将刮刀编写为regexp和BeautifulSoup等混合物后,我发现了Scrapy,我非常相信今年的圣诞礼物给自己!使用起来很自然,它似乎是为了使几乎所有东西都优雅和可重复使用而构建的。

但我遇到的情况我不知道如何处理:我的蜘蛛爬行并刮擦列表页面A,我从中生成一组项目。但是对于每个项目,我需要获取一个独特的补充链接(从一些被抓取的信息构建,但没有明确显示Scrapy可以遵循的页面上的链接)以获取其他信息。

我的问题分为两部分:在抓取过程之外获取网址的协议是什么?如何以优雅的方式从多个来源构建项目?

在StackOverflow上previous question部分地询问(并回答)了这个问题。但是我更感兴趣的是Scrapy的理念应该是在这个用例中 - 当然不是无法预料的可能性?我想知道这是否是管道注定要用于的事情之一(从主要信息推断的辅助源中添加信息是“后处理”的实例),但是最好的方法是什么,并没有完全搞乱Scrapy的高效异步组织?

1 个答案:

答案 0 :(得分:2)

  

在抓取过程之外获取网址的协议是什么?

当你创建一个Request给它一个网址时,你从哪里下载url并不重要。您可以从页面中提取它,或以其他方式构建。

  

如何以优雅的方式从多个来源构建项目?

使用Request.meta