Соскоб изображение с веб-страницы - PullRequest
0 голосов
/ 09 мая 2018

Я пытаюсь загрузить изображение с веб-страницы с помощью Scrapy, дело в том, что страница немного сложна, поэтому я думаю, что я не правильно определяю xpath.Паук работает без ошибок, однако изображение не сохраняется в указанной мной папке.Я новичок в области scrapy, поэтому я застрял в этой точке.Веб-страница находится внутри кода ... Любые предложения будут хорошо приняты.Спасибо!

import scrapy
import re
import urlparse
from scrapy.spiders import CrawlSpider, Rule
from scrapy.linkextractors import LinkExtractor
from scrapy.loader.processors import Join, MapCompose, TakeFirst
from scrapy.pipelines.images import ImagesPipeline
from imagetest.items import ImagetestItem
from imagetest.items import ImageItem

custom_settings = {
        "ITEM_PIPELINES": {'scrapy.pipelines.images.ImagesPipeline': 1},
        "IMAGES_STORE": '/Users/jose/Desktop'
    }

class imagetestSpider(scrapy.Spider):
   name = "imagetest"
   allowed_domains = ["dataviz.worldbank.org", "worldbank.org"]
   start_urls = ["http://dataviz.worldbank.org/t/DECDG/views/IFC4/DSHB_MCT02h?:embed=y&:display_count=no%22;%20break"]

   def parse(self, response):
    for sel in response.xpath("//html/body"):
        item = ImagetestItem()
            img_url = sel.xpath('//*[@idd="view2429655783888868492_8474849571036086192"]/div[1]/div[2]/img').extract()
            yield scrapy.Request(urlparse.urljoin(response.url, img_url),callback=self.parseImages,  meta={'item': item})

   def parseImages(self, response):
    for elem in response.xpath("//img"):
            img_url = elem.xpath("@src").extract_first()
            yield ImageItem(image_urls=[img_url])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...