Scrapy-抓取html自定义属性



我正在尝试抓取一个网站,我想抓取一个自定义的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'

最新更新