【问题标题】:Populate the same item from various pages without direct conenction between them. Scrapy从不同的页面填充相同的项目,它们之间没有直接连接。刮擦
【发布时间】:2017-11-04 08:24:21
【问题描述】:
我需要抓取着陆页和源自此着陆页的一些页面。并将所有数据保存到同一个项目中。原始页面之间不连接。这样做的可用方法是什么?有什么方法可以获取(加载)已生成的项目并向其添加一些信息?
我能想到的是在蜘蛛本身中启动一个字典,但这似乎是一个非常糟糕的主意。
这是一个更好理解的模式。对不起我的绘画技巧))
如果我在第 1 页(谷歌)上创建项目并将其作为元发送到所有其他链接。将来自所有 4 个链接的项目组合在一起并生成包含来自 5 个 url 的信息的完整项目?
【问题讨论】:
标签:
python-2.7
scrapy
scrapy-spider
【解决方案1】:
好的。所以我想出了两个解决方案。
解决方案 #1。 正如在原始帖子中发布的那样,通过元将项目发送到所有链接,并将字典值添加到同一项目字段。说item['links_info']={}。所以每个页面都会有自己的键和数据分配给这个项目字典。
解决方案 #2。 将所有需要访问的链接保存到一个列表中。一次关注此列表中的 1 个 url,然后通过 meta 传递其余的。同时传递项目。
第一个看起来更容易实现。