Scrapy - выскабливание пользовательских атрибутов HTML - PullRequest
0 голосов
/ 31 октября 2018

Я пытаюсь очистить веб-сайт и хочу удалить пользовательский атрибут html.

Сначала я получаю ссылку:

result.css('p.paraclass a').extract()

Это выглядит так:

 <a href="https://thisisawebsite.com" data-id="12345" class="aclass">I am a link</a>

Я бы хотел очистить значение тега data-id. Я могу сделать это, получив всю ссылку и затем манипулируя ею, но я хотел бы выяснить, есть ли способ сделать это непосредственно с помощью селектора scrapy.

Ответы [ 2 ]

0 голосов
/ 31 октября 2018

Два способа добиться этого:

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'

0 голосов
/ 31 октября 2018

Я считаю, что будет работать следующее:

result.css('a::attr(data-id)').extract()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...