Я хочу собрать фотографию идола с помощью Scrapy.
Домашняя страница сбора https://news.mynavi.jp/article/20191229-947707/.
Я написал паук ...
(save_gradol.py)
import scrapy
from scrapy.spiders import CrawlSpider, Rule
from scrapy.linkextractors import LinkExtractor
from gradol.items import GradolItem
class SaveGradolSpider(CrawlSpider):
name = 'save_gradol'
allowed_domains = ['news.mynavi.jp/']
start_urls = ['https://news.mynavi.jp/article/20191229-947707/']
rules = (
Rule(LinkExtractor(allow=(), unique=True), callback="parse_page", follow=True),
)
def parse_page(self, response):
#print("\n>>> Parse " + response.url + " <<<")
item = GradolItem()
item["image_urls"].append(start_urls.rsplit("/", 3)[0] + "/" + response.xpath("//a/@href").extract())
yield item
Я также написал элемент ...
(items.py)
import scrapy
from scrapy.item import Item, Field
class GradolItem(scrapy.Item):
# define the fields for your item here like:
# name = scrapy.Field()
#image_directory_name = scrapy.Field()
image_urls = scrapy.Field()
images = scrapy.Field()
Я также написал конвейеры ...
(pipelines.py)
import scrapy
from scrapy.pipelines.images import ImagesPipeline
class MyImagesPipeline(object):
def process_item(self, item, spider):
return item
Я также написал setteing ...
(settings.py)
ITEM_PIPELINES = {'gradol.pipelines.MyImagesPipeline': 1}
IMAGES_STORE = './savedImages'
MEDIA_ALLOW_REDIRECTS = True
Затем я попробовал пауку [sudo scrapy crawl save_gradol], но не сканировать и не собирать фотографии.
Пожалуйста, помогите мне решить эту проблему.