这里是spider.py:
import scrapy
from scrapy.loader import ItemLoader
from dts.items import DtItem
class dtSpider(scrapy.Spider):
name = 'dts'
urls = ['s','s','s','s']
def start_requests(self):
for url in self.urls:
yield scrapy.Request(url, callback=self.parse)
def parse(self,response):
for title in response.xpath('//h2/a/@title').extract()[:-6]:
url_array = response.url.split('/')
author = url_array[url_array.index('author')+1]
l = ItemLoader(item=DtItem(), response=response)
l.add_value('title',title)
l.add_value('author',author)
return l.load_item()
我写这篇文章只是为了获得标题。 但是,为什么我不能获得所有头衔? Scrapy每页只返回1项。
答案 0 :(得分:2)
变化:
return l.load_item()
为:
yield l.load_item()
return
将停止该功能,但yield
将继续运行。