自学内容网 自学内容网

在python爬虫中xpath方式提取lxml.etree._ElementUnicodeResult转化为字符串str类型

简单提取网页中的数据时发现的

当通过xpath方式提取出需要的数据的text文本后想要转为字符串,但出现lxml.etree._ElementUnicodeResult的数据类型不能序列化,在网上查找到很多说是编码问题Unicode编码然后解码什么的;有些是(导入的xml库而不是lmxl库)[https://blog.51cto.com/u_16213415/11531934],后来在(一个博文)[https://www.cnblogs.com/biyeee/p/9429392.html]中,作者直接把数据转为浮点flaot型的数据,那么直接强制转换为string应该也是没问题的。

代码中可以看出

import requests

import json
from lxml import etree

# from jsonpath import jsonpath
url = ''   # 需要写入自己的url
headers = {
"user-agent":""   ##填写自己的浏览器代理
 }
ret = requests.get(url,headers=headers)

rel_html = etree.HTML(ret.text)
# print(ret.text)
# 选择合适的xpath条件
end = rel_html.xpath('//*[@id="userSkin"]/div[1]/div[2]/div[1]/div/div[2]/div[2]/ul/li[4]/a/div[1]/text()')
print(end)      
print(type(end[0]))
xml_str = str(end[0])
print(xml_str.replace(',',''))


在这里插入图片描述

xpath中的语法导致最终获取对象不同

一个是标签节点,一个是节点下的文本,导致最终结果的数据类型不同
在这里插入图片描述


原文地址:https://blog.csdn.net/weixin_43794311/article/details/142420407

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!