Скопируйте данные с нескольких веб-страниц с помощью Scrapy - PullRequest
0 голосов
/ 11 ноября 2019

Я пытаюсь извлечь заголовки телефонов (и, в конечном итоге, другие данные) из нескольких веб-страниц, используя scrapy. Я пытаюсь сделать это с помощью определенных функций. Предполагается, что функция "parse" извлекает все ссылки на страницы, что она делает правильно, если я позволю ей передавать свои результаты в CSV. Однако, когда я пытаюсь настроить второй "parse_pages", кажется, что код даже не попытается обработать, и я не могу получить вывод CSV только заголовков для каждой страницы

примечание: я распознаю отступыниже неправильно для функций,

import scrapy
from scrapy.http import Request

url = 'https://www.gsmarena.com/'

class PhonelinksSpider(scrapy.Spider):
    name = 'phonelinks'
    allowed_domains = ['www.gsmarena.com/results.php3?']
    start_urls = ['https://www.gsmarena.com/results.php3?']

    def parse(self, response):
        links = response.xpath('//div[@class="makers"]/ul/li/a/@href').extract()
        for link in links:
            location = url+link
            yield response.follow(url = location,callback = self.parse_pages)



    def parse_pages(self, response):
       phones = response.xpath('//h1[contains(@class,"specs-phone-name-title")]/text()').extract_first().strip()
       for title in phones:
           phone_list = {'phone':title}
           yield phone_list
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...