Мой паук Scrapy не может извлечь данные со следующей страницы - PullRequest
0 голосов
/ 13 апреля 2020

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

name = 'jobs'
allowed_domains = ['www.tanitjobs.com/jobs']
start_urls = ['https://www.tanitjobs.com/jobs']

def parse(self, response):
    pass

    all_jobs = response.css(".listing-item__jobs")

    for job in all_jobs:
        item = {
            'jobname' : job.css("article.listing-item div.listing-item__title a::text").getall(),
            "companyname" : job.css(".listing-item__info--item-company::text").extract(),
            "city" : job.css(".listing-item__info--item-location::text").extract() ,
            }

        yield item

    next_page = response.css(".pad_right_small a ::attr(href)").extract_first()
    if next_page:
       next_page = response.urljoin(next_page)
       yield scrapy.Request(url=next_page, callback=self.parse)

Это результат, который я получил после запуска паука

Если кто-то знает, в чем проблема, мне действительно нужна ваша помощь и заранее спасибо.

1 Ответ

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

allowed_domains = ['www.tanitjobs.com/jobs']

, так как это пустая раздача по имени переменной, в этот список следует включить только разрешенные domains , и вы получите частичный URL-адрес, который приводит к тому, что внешний фильтр отклоняет запрос

Если у вас нет особых требований c, в противном случае я бы предложил перечислить только базовый домен в этом значении:

allowed_domains = ['tanitjobs.com']
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...