今天寫爬蟲,遇到一個坑,提示[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