Паук не хочет очищать следующую страницу - PullRequest
0 голосов
/ 11 июня 2019

Мой паук по какой-то причине не хочет переходить на следующую страницу.Это не дает мне никаких ошибок, но выскребла единственную страницу.У меня есть код, похожий на этот, но другой сайт, и он работал нормально.

from scrapy.spiders import CrawlSpider
from scrapy import Request
class JobsSpider(CrawlSpider):
    name = 'jobs'
    allowed_domains = ['https://newyork.craigslist.org/search/egr']
    start_urls = ['https://newyork.craigslist.org/search/egr/']

    def parse(self, response):
        jobs = response.css(".result-info")
        for job in jobs:
            Dates = response.css(".result-date").extract_first()
            Titles = job.css('.hdrlnk::text').extract_first()
            address = job.css(".result-hood::text").extract_first()
            relative_url = job.css(".hdrlnk::attr('href')").extract_first()
            yield{
                "Date": Dates,
                "Title": Titles,
                "Address": address,
                "Link": relative_url
            }


        url = response.xpath('//*[@id="searchform"]/div[5]/div[3]/span[2]/a[3]/@href').extract_first()
        absurl = response.urljoin(url)
        if url:

            yield Request(url=absurl, callback=self.parse)
        else:
            print("No next page found")

1 Ответ

0 голосов
/ 12 июня 2019

Вы установили allowed_domains слишком строго, и поэтому новые URL не будут разрешены на основании "домена".

Так что просто поменяйте

allowed_domains = ['https://newyork.craigslist.org/search/egr']

К

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