簡體   English   中英

Scrapy CrawlerProcess 找不到正確的數據

[英]Scrapy CrawlerProcess not find correct data

我試圖在這個url上刮掉不同的 18 艘船(開始時只有第一頁)。

但要這樣做,我只想要船的詳細信息 url 可以在 div.col-6-12.mobile-col-1-1.envItem > article > data-product-url 中找到

為此,我執行了以下腳本:

import scrapy
from scrapy.crawler import CrawlerProcess

class QuotesSpider(scrapy.Spider):
    name = 'quotes'
    
    def parse(self, response):
        for boat in response.css('div.col-6-12.mobile-col-1-1.envItem'):
            yield {
                'url': boat.css('article::attr("data-product-url")').get()
            }
            
# run spider
process = CrawlerProcess()
process.crawl(QuotesSpider, start_urls = ['https://www.clickandboat.com/uk/boat-hire/search?where=Spain'])
process.start()

該腳本正在運行,我收到了 18 個船只詳細信息的 url,但它們屬於不在我想抓取的 url 第一頁中的船只。

我究竟做錯了什么? 如何獲取我放的 url 的船詳細信息的 url 列表(可以在 div.col-6-12.mobile-col-1-1.envItem > article > data-product-url 中找到)以上?

使用此 css 選擇器獲取數據:

import scrapy
from scrapy.crawler import CrawlerProcess

class QuotesSpider(scrapy.Spider):
    name = 'quotes'

    def parse(self, response):
        for boat in response.css('div#product-list.productList'):
            yield {
                'url': boat.css('div.col-6-12.mobile-col-1-1.envItem>article.boatAd.js-boatAd::attr("data-product-url")').getall()
            }

# run spider
process = CrawlerProcess()
process.crawl(QuotesSpider, start_urls = ['https://www.clickandboat.com/uk/boat-hire/search?where=Spain'])
process.start()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM