scrapy 如何使用css选择器获取带方括号的html标签属性?

gcmastyq  于 2022-11-09  发布在  其他
关注(0)|答案(2)|浏览(221)

因此,我想解析一个页面,它有几个项目,结构如下:

<span itemprop="telephone" [class]="revealtel?'':'invisible'" class="">11111111</span>
<span itemprop="telephone" [class]="revealmainfax?'':'invisible'" class="">222222222</span>

我正在使用Scrapy和CSS选择器来解析数据。但是我不明白如何获得电话号码或传真号码。Itemprop在这两种情况下都是一样的,所以它不能使用。那么,如何选择具有[class]="revealtel?'':'invisible'[class]="revealmainfax?'':'invisible'属性的元素呢?也许不用CSS选择器,但可以使用Xpath?虽然我对Xpath不太在行...
提前感谢你对我的帮助:)

vvppvyoh

vvppvyoh1#

使用xpath从telephone作为itemprop的元素中获取所有文本的列表。

faxnum = None
telnum = None
numbers = response.xpath('//span[@itemprop="telephone"]')
for element in numbers:
    text = element.extract()
    if re.search('revealmainfax', text):
        faxnum = element.xpath('./text()')
    else:
        telnum = element.xpath('./text()')
neekobn8

neekobn82#

请尝试:

response.css('span[itemprop="telephone"]::text').getall()

相关问题