今天写爬虫,遇到一个坑,提示[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