不用回家挖石油了 2021-12-04 01:41 采纳率: 50%
浏览 49
已结题

scrapy 爬取图片时图片的url总是显示None

求大家帮忙看看
class DownloadimgSpider(scrapy.Spider):
name = 'downloadimg'
allowed_domains = ['sc.chinaz.com']
start_urls = ['https://sc.chinaz.com/tupian/fengjing.html']
urls = ['https://sc.chinaz.com/tupian/fengjing_%d.html'%i for i in range(2,5)]
urls_index = 0

def parse(self, response):
    for div in response.xpath('//*[@id="container"]/div'):
        img_url = div.xpath('./div/a/img/src').extract_first()
        img_url = 'https:' + str(img_url)
        item = DownloadimgItem()
        item['img_url']=img_url
        yield item

    if self.urls_index < len(self.urls):
        yield scrapy.Request(self.urls[self.urls_index], callback=self.parse)
        self.urls_index += 1

img

  • 写回答

1条回答 默认 最新

  • 关注
        img_url = div.xpath('./div/a/img/src').extract_first()
    

    src前面少了 @ 改成

        img_url = div.xpath('./div/a/img/@src').extract_first()
    

    如有帮助,望采纳!谢谢!

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 12月12日
  • 已采纳回答 12月4日
  • 创建了问题 12月4日