从不同的页面中抓取内容填入到对象当中

发布于 2021-11-27 05:03:23 字数 586 浏览 756 评论 5

我想做到类似python的scrapy的效果差不多,不知道实现方法。我贴出python的代码来 大家给一下意见。

def parse(self, response)
    data = json.loads(response)
    for book in data['result']:
        item = BookItem();
        item['id'] = book['id']
        url = book['url']
        yield Request(url, callback=self.detail, meta={'item': item})

def detail(self,response):        
    hxs = HtmlXPathSelector(response)
    item = response.meta['item']

我目前想到解决办法就是自己继承Request对象 然后写上一个Model类的属性还有setter/getter方法,但是怎么在process方法中加入这个请求呢。向各位前辈请教请教

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

自此以后,行同陌路 2021-12-03 14:30:28

有同样需求,哥们你解决了么?

我也是爬到一个页面,取到了一半的信息,然后这个页面js初始化发起了一个ajax请求另一个链接的html,html里只有一个div,然后替换当前页面的,我也想取新请求的div里信息来拼成一个整的再存数据库。

但是目前我想的是,爬到页面之后,取到这一半信息先insert数据库,然后因为这个ajax是传id取的div嘛,然后我把这个ajax的url加入待爬取,然后再正则判断是这个url的时候,爬取到了剩下的信息,然后根据id再update

三月梨花 2021-12-03 14:17:41

你懒得描述清楚, 我想没人会主动去主动搞清楚问题再来回答你的吧?

伪装你 2021-12-02 15:01:48

在一个页面中获取一条数据部分信息,再从另外一个目标页面中获取这条数据的剩余信息。可参考:

http://stackoverflow.com/questions/20663162/scrapy-passing-item-between-methods

草莓味的萝莉 2021-12-01 08:32:40

在一个页面中获取一条数据部分信息,再从另外一个目标页面中获取这条数据的剩余信息。可参考:http://stackoverflow.com/questions/20663162/scrapy-passing-item-between-methods

緦唸λ蓇 2021-11-30 18:31:49

問題不明, 不知所雲.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文