Python 如何获取<;p>;标签里面的div在刮吗?
我正在抓取这个网站 最后一个Python 如何获取<;p>;标签里面的div在刮吗?,python,xpath,web-scraping,scrapy,Python,Xpath,Web Scraping,Scrapy,我正在抓取这个网站 最后一个标记包含用户信息,这给我造成了问题,因为我正在使用- ''.join(response.xpath('//div[@class="entry-content"]/p[2]/text()').extract()) 但是p[2]如果上面的文本是正确的数字,则会发生变化。在这里说它是p[5] 我想这样做是为了计算div中标记的数量,并将该数量分配给我的项 如何处理这个问题 据我所知,这只是条目内容的最后一段-您可以使用last(): 适合我。如果您只想计算p元素 len(
标记包含用户信息,这给我造成了问题,因为我正在使用-
''.join(response.xpath('//div[@class="entry-content"]/p[2]/text()').extract())
但是p[2]
如果上面的文本是正确的数字,则会发生变化。在这里说它是p[5]
我想这样做是为了计算div
中
标记的数量,并将该数量分配给我的项
如何处理这个问题 据我所知,这只是条目内容的最后一段-您可以使用
last()
:
适合我。如果您只想计算
p
元素
len(response.xpath('//div[@class="entry-content"]/p'))
还有一件事,在
之间使用了span
类,并且无法提取之间的数据。如何删除这些
@NikhilParmar抱歉,您在条目内容中的span
在哪里看到?在第一个
之后是span,idIL\u AD3
您可以尝试使用/text()
而不是/text()
,比如://div[@class=“entry content”]/p[last()]//text()
@NikhilParmar//text()
将在当前节点的任何深度找到文本节点。请注意,表达式末尾的text()
仅选择直接子级的文本节点,不是我正在使用的子元素中的文本节点(例如,不在text not selected
)中
len(response.xpath('//div[@class="entry-content"]/p'))