python xpath 获取 中文文字最多个div div中不嵌套其他div
时间: 2023-05-24 18:02:42 浏览: 179
您好,以下是使用Python的XPath获取中文文字最多的div的代码:
import requests
from lxml import etree
url = '你要爬取的网页地址'
response = requests.get(url)
html = response.content
selector = etree.HTML(html)
div_list = selector.xpath("//div[not(descendant::div)]")
max_chinese_text_div = None
max_chinese_text_num = 0
for div in div_list:
chinese_text = div.xpath("string(.)").strip()
chinese_text_num = len([x for x in chinese_text if u'\u4e00' <= x <= u'\u9fff'])
if chinese_text_num > max_chinese_text_num:
max_chinese_text_div = div
max_chinese_text_num = chinese_text_num
print(max_chinese_text_div.xpath("string(.)").strip())
这个代码会首先获取该页面的所有div元素,然后遍历每个div,计算其中中文文字的数量。最后找到中文文字最多的那个div元素,并打印出其中的文本内容。注意这里使用了not(descendant::div)来判断div中是否嵌套了其他div,以保证我们只获取到不嵌套其他div的div元素。
阅读全文