我正在尝试抓取一个网站,我想抓取一个自定义的html属性。
首先我得到链接:
result.css('p.paraclass a').extract()
它看起来像这样:
<a href="https://thisisawebsite.com" data-id="12345" class="aclass">I am a link</a>
我想刮取数据id标记的值。我可以通过获取整个链接,然后对其进行操作来实现这一点,但我想知道是否有一种方法可以直接使用一个粗糙的选择器来实现。
我相信以下方法会奏效:
result.css('a::attr(data-id)').extract()
实现这一点的两种方法:
from scrapy.selector import Selector
partial_body = ' <a href="https://thisisawebsite.com" data-id="12345" class="aclass">I am a link</a>'
sel = Selector(text=partial_body)
Xpath Selector
sel.xpath('//a/@data-id').extract()
#output : ['12345']
CSS选择器
sel.css('a::attr(data-id)').extract_first()
# output: '12345'