Scrapy:关注链接以获取其他商品数据?

dru*_*dru 32 callback hyperlink scrapy

我没有特定的代码问题我只是不确定如何使用Scrapy框架在逻辑上处理以下问题:

我想要抓取的数据结构通常是每个项目的表格行.直截了当,对吧?

最终,我想要删除每一行的标题,截止日期详细信息. 标题截止日期可立即在页面上找到...

但是细节本身不在表格中 - 而是指向包含细节的页面的链接(如果这里没有意义,那么这是一个表格):

|-------------------------------------------------|
|             Title              |    Due Date    |
|-------------------------------------------------|
| Job Title (Clickable Link)     |    1/1/2012    |
| Other Job (Link)               |    3/2/2012    |
|--------------------------------|----------------|
Run Code Online (Sandbox Code Playgroud)

即使在阅读了Scrapy文档的CrawlSpider部分之后,我恐怕仍然不知道如何使用回调和请求在逻辑上传递项目.

war*_*iuc 27

请先阅读文档,了解我的意思.

答案:

要抓取其他页面上的其他字段,在解析方法中提取带有附加信息的页面的URL,从该解析方法创建并返回具有该URL的Request对象,并通过其meta参数传递已提取的数据.

如何将目标页面的结果合并到scrapy中的当前页面?

  • 谢谢@tback。OP 的 RTFD 并不是制定答案的有用方法。 (2认同)

Chi*_*sen 19

来自scrapy文档的一个例子

def parse_page1(self, response):
    item = MyItem()
    item['main_url'] = response.url
    request = scrapy.Request("http://www.example.com/some_page.html",
                             callback=self.parse_page2)
    request.meta['item'] = item
    yield request

def parse_page2(self, response):
    item = response.meta['item']
    item['other_url'] = response.url
    yield item
Run Code Online (Sandbox Code Playgroud)


归档时间:

查看次数:

23486 次

最近记录:

6 年,3 月 前