我正在尝试从站点中抓取数据。数据被构造为多个对象,每个对象都有一组数据。
例如,人员的姓名、年龄和职业。
我的问题是这些数据在网站中分为两个级别。
例如,第一页是姓名和年龄的列表,其中包含指向每个人的个人资料页面的链接。
他们的个人资料页面列出了他们的职业。
我已经有一个用 python 写的 scrapy 的蜘蛛,它可以从顶层收集数据并爬行多个分页。
但是,如何从内部页面收集数据,同时保持其链接到适当的对象?
目前,我的输出结构为 json
{[name='name',age='age',occupation='occupation'],
[name='name',age='age',occupation='occupation']} etc
parse函数可以这样跨页面吗?
这是你需要处理的方法。当项目具有所有属性时,您需要生成/返回项目一次
yield Request(page1,
callback=self.page1_data)
def page1_data(self, response):
hxs = HtmlXPathSelector(response)
i = TestItem()
i['name']='name'
i['age']='age'
url_profile_page = 'url to the profile page'
yield Request(url_profile_page,
meta={'item':i},
callback=self.profile_page)
def profile_page(self,response):
hxs = HtmlXPathSelector(response)
old_item=response.request.meta['item']
# parse other fileds
# assign them to old_item
yield old_item
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)