Паук Scrapy возвращается Нет, но Xpath верен - PullRequest
1 голос
/ 29 апреля 2020

Я пытаюсь сканировать сайт, используя скрап, и я нахожусь на ранних стадиях кодирования моего паука. Для начала я только пытаюсь вернуть названия фильмов, но когда я запускаю паука, имя возвращает «Нет» или [] для каждой записи.

Я проверил Xpath с помощью «XPath Helper». 'chrome расширение, и там, похоже, все правильно, поэтому я не уверен, почему паук не возвращает названия фильмов. Веб-сайт, который я пытаюсь сканировать, - https://www.finder.com/uk/netflix-movies, и код моего паука:

import scrapy

class finderSpider(scrapy.Spider):
    name = 'finderSpider'    
    start_urls = ['https://www.finder.com/uk/netflix-movies']

    def parse(self,response):
        for film in response.xpath('//tr'):
            yield {
                'name': film.xpath('/td/div/b/text()').extract()
            }

Я довольно новичок в этом, так что извините, если есть что-то очевидное, я м отсутствует. Кажется, что веб-сайт позволяет загружать ботов, и все файлы настроек и промежуточного программного обеспечения не отличаются от настроек по умолчанию.

Ниже приведен пример одной строки ответа в терминале:

2020-04-29 13:31:23 [scrapy.core.scraper] DEBUG: Scraped from <200 https://www.finder.com/uk/netflix-movies>
{'name': []}

1 Ответ

1 голос
/ 29 апреля 2020

Кажется, работает с этой небольшой настройкой:

import scrapy

class finderSpider(scrapy.Spider):
    name = 'finderSpider'    
    start_urls = ['https://www.finder.com/uk/netflix-movies']

    def parse(self,response):
        for film in response.xpath('//tr'):
            yield {
                'name': film.xpath('./td/b/text()').extract()
            }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...