【问题标题】:Scrapy Selecting Data BindScrapy 选择数据绑定
【发布时间】:2021-02-02 14:19:49
【问题描述】:

如何使用 scrapy 选择特定的数据绑定元素?

                  <div class="col-sm-4">
                    <div data-bind="visible: (LotNumber > 0)">
                        <span class="carDetailLabel title" data-bind="text: ' ' + LotNumber"> 1</span>
                    </div>
                    <span data-bind="text: RegistrationNumber">VE16OML</span><br>
                    <span data-bind="text: Colour + ' ' + Transmission + ' ' + Fuel">Silver Manual Petrol</span><br>
                    <span data-bind="text: Doors + 'dr ' + VehicleType">5dr Hatchback</span><br>
                    <span data-bind="text: Odometer + ' ' + OdometerType">118699 miles</span><br>
                    <span data-bind="text: MileageWarranty">Not Warranted</span><br>
                    <span data-bind="text: MOTDateText">19/09/21</span><br>
                    <span data-bind="text: Grade">-</span>
                </div>

我想选择里程表和 MOTDateText 数据绑定,但我不确定如何编写?我目前可以使用以下方法打印它们:

from scrapy.spiders import Spider
from scrapy_splash import SplashRequest


class SpiderName(Spider):
    name = 'SpiderName'
    Page = 'https://www.urlname.com'

    def start_requests(self):
        yield SplashRequest(url=self.Page, callback=self.parse,
                            endpoint ='render.html',
                            args={'wait': 0.5},
                            )

    def parse(self, response):
        for x in response.css("div.row.list"):
            yield {
                'Entry': x.css("span[data-bind]::text").getall()

            }

我如何具体选择?

谢谢

【问题讨论】:

    标签: python scrapy css-selectors


    【解决方案1】:

    就 scrapy 而言,data-bind 并不特殊,它的行为与任何其他属性一样。

    这意味着你可以使用任何常用的方法来匹配它,例如:

    >>> x.css('span[data-bind="text: Odometer + \' \' + OdometerType"]::text').get()
    '118699 miles'
    >>> x.css('span[data-bind="text: MOTDateText"]::text').get()
    '19/09/21'
    

    【讨论】:

    • 哇,我觉得自己很愚蠢,谢谢!我可能需要研究如何更好地使用选择器
    猜你喜欢
    • 1970-01-01
    • 2020-02-01
    • 2019-09-13
    • 2018-08-06
    • 1970-01-01
    • 2013-01-01
    • 1970-01-01
    • 2012-05-16
    相关资源
    最近更新 更多