scrapy 为什么我找不到使用两个类的Xpath选择器

rkue9o1l  于 2022-11-09  发布在  其他
关注(0)|答案(1)|浏览(158)

我得到了一个这样的html页面

<li class="class1 class2"></li>

但我尝试使用

response.xpath('//li[@class="class1 class2"]')

我也试着运行这个代码:

response.xpath('//li[@class="class1"]')
response.xpath('//li[@class="class1 class2"]')

两者均返回None
谁能告诉我怎么了?
可能我解决了,但我不明白。我发现一个现象,我使用DevTools在Chrome上,它显示像这样的<li class="class1 class2"><\li>。但我用scrapy爬和返回<li class="class1 class2 class3"><\li>我遇到了一些现象,网页源代码是不同的源代码我爬。

e37o9pze

e37o9pze1#

主要问题是您的<li><\li>不是有效的HTML,如<li></li>xpath应该看起来像:

.//li[contains(@class, 'class1') and contains(@class, 'class2')]

可以使用xpather之类的工具来检查路径是否有效。

相关问题