'''
问题:问啥每次打印的front_image_url 和url都是第一条的,但是print(item_selecter.extract())打印的html并不是一个?百思不得其解,希望老师给回答下,scrapy入门的代码
'''
def parse(self, response):
item_selecters = response.xpath('//div[@id="news_list"]/div[@class="news_block"]')
for item_selecter in item_selecters:
print(item_selecter.extract())
front_image_url = item_selecter.xpath('//div[@class="entry_summary"]/a/img/@src').extract_first('')
url = item_selecter.xpath('//div[@class="content"]/h2/a/@href').extract_first('')
# 请求详情数据
print(url)
yield Request(parse.urljoin(response.url, url), meta={"front_image_url": front_image_url},
callback=self.parse_detail)
带你彻底掌握Scrapy,用Django+Elasticsearch搭建搜索引擎
了解课程