请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

item_selecter的数据都是第一条的,怎么都跑不出下一条数据?

'''
问题:问啥每次打印的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)

正在回答 回答被采纳积分+3

1回答

bobby 2020-06-28 17:58:49

你把这里的xpath写法改成css选择器试试呢

0 回复 有任何疑惑可以回复我~
  • 提问者 慕标6621168 #1
    css没问题,这应该是xpath里的问题
    回复 有任何疑惑可以回复我~ 2020-06-28 18:01:13
  • bobby 回复 提问者 慕标6621168 #2
    是的 你可以先使用css选择器
    回复 有任何疑惑可以回复我~ 2020-07-01 10:54:20
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信