Scrapy 选择数据绑定
Scrapy Selecting Data Bind
如何使用 scrapy select 特定数据绑定元素?
<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>
我想 select 里程表和 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()
}
如何具体说明我的 selecting?
谢谢
就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'
如何使用 scrapy select 特定数据绑定元素?
<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>
我想 select 里程表和 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()
}
如何具体说明我的 selecting?
谢谢
就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'