python scrapy ERROR: Spider must return request, item, or None, got 'Tag' in解决方案

今天写爬虫,遇到一个坑,提示[scrapy.core.scraper] ERROR: Spider must return request, item, or None, got 'Tag' in <GET https://www.

其实原因很意外,我在代码中使用了item,同时scrapy又用item传递数据,结果造成了这样的问题

 for item in soup.select(".job-list-item"):
            uu=item.select_one("a").get('href').split("?")[0]
            if uu is not None:
                item['wz']=uu
                yield item

如果将yield改为return,确实不报错了,但数据无法传递,需要改成如下的代码

for itema in soup.select(".job-list-item"):
            uu=itema.select_one("a").get('href').split("?")[0]
            if uu is not None:
                item['wz']=uu
                yield item

 

posted @ 2021-10-20 19:35  myrj  阅读(2984)  评论(0)    收藏  举报