@吃瓜群众研究中心 2021-04-22 10:05 采纳率: 0%
浏览 54

scrapy parse中的item在遍历的时候无法和自定义方法中的item关联

 

	    def parse(self, response, **kwargs):
        item = TuiqiuspiderproItem()
        # item = response.meta['item']
        resp = response.json()
        articles = resp['articles']
        for article in articles:
            if article['is_video'] is False and compTime(article['published_at']):
                item['title'] = article['title']
                item['publish_time'] = article['published_at']
                item['source_href'] = article['share']
                item['tag'] = resp['label']
                data = scrapy.Request(url=article['share'], callback=self._article, meta={'item': item}, dont_filter=False)
                data.meta['item'] = item
                yield data

    def _article(self, response):
        item = response.meta['item']
        soup = BeautifulSoup(response.text, 'lxml')
        comments = soup.findAll(text=lambda text: isinstance(text, Comment))
        [comment.extract() for comment in comments]
        try:
            article = soup.find("div", {"class": "news-left"})
            tips = article.find('p', {"class": "tips"}).find_all('span')
            if tips and len(tips) > 1:
                item['author'] = tips[1].get_text()
            else:
                item['author'] = tips[0].get_text()
            self.saveImages(article)
            # del article_pc.find('div', {'class': 'con'}).find("div").attrs['style']
            item['content'] = str(delattrs(article.find('div', {'class': 'con'}))).replace(
                "data-src", "src")
        except Exception as e:
            pass
        author = response.xpath('.//div[@class="news-left"]/p[@class="tips"]/span/text()').extract_first()
        item['author'] = author
        # item['content'] = response.xpath('.//div[@class="con"]').extract_first()
        yield item

国足
中超
亚冠
足协杯
中甲
女足
足球报

{'tag': '足球报',
 'urls': 'https://sports.sina.com.cn/china/national/2021-04-22/doc-ikmxzfmk8227567.shtml'}
{'tag': '足球报', 'urls': None}
{'tag': '足球报', 'urls': None}
{'tag': '足球报',
 'urls': 'https://sports.sina.com.cn/china/j/2021-03-22/doc-ikkntiam6093941.shtml'}
{'tag': '足球报', 'urls': None}
{'tag': '足球报', 'urls': None}
{'tag': '足球报', 'urls': None}

 

字典中的tag没有和上面的对应

  • 写回答

2条回答 默认 最新

  • 关注

    能具体说明一下那一行代码的问题吗?没有说明不好找呀。

    评论

报告相同问题?

悬赏问题

  • ¥50 微信聊天记录备份到电脑提示成功了,但还是没同步到电脑微信
  • ¥15 python怎么在已有视频文件后添加新帧
  • ¥20 虚幻UE引擎如何让多个同一个蓝图的NPC执行一样的动画,
  • ¥15 fluent里模拟降膜反应的UDF编写
  • ¥15 MYSQL 多表拼接link
  • ¥15 关于某款2.13寸墨水屏的问题
  • ¥15 obsidian的中文层级自动编号
  • ¥15 同一个网口一个电脑连接有网,另一个电脑连接没网
  • ¥15 神经网络模型一直不能上GPU
  • ¥20 wpf datagrid单元闪烁效果失灵