【我是小白】爬取xml文件里的字段内容,报错ValueError: Unicode strings with enc...
本帖最后由 lqq123 于 2021-5-29 09:11 编辑使用lxml爬取xml网页里的body字段,请大神指点
先上xml文件
<?xml version="1.0" encoding="ISO-8859-1"?>
<!--Copyright w3school.com.cn -->
<note>
<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don't forget the meeting!</body>
</note>
想获取xml文件里的body字段的文本,总是报错,我还没好好学,先请大神指点如何修改
import requests
from lxml import etree
def main():
url = 'https://www.w3school.com.cn/example/xmle/note.xml'
headers = {'user-agent': 'firefox'}
r = requests.get(url, headers=headers)
html = etree.XML(r.text)
result = html.xpath('.//body')
print(result.text)
if __name__ == '__main__':
main()
你这个是解析网页的,解析文件你试试
xml_file = etree.parse(r'd:\test.xml') 解析本地xml:from lxml import etree
html = etree.parse('test.xml', etree.XMLParser())
result = html.xpath('.//CustomerName')
print(result.text)
或
import xml.etree.ElementTree as ET
tree = ET.parse('test.xml')
root = tree.getroot()
result = root.findall('.//CustomerName')
print(result.text) 本帖最后由 lqq123 于 2021-5-28 18:03 编辑
suchocolate 发表于 2021-5-28 17:53
解析本地xml:
或
求教,如果是xml网页呢,需要怎么加url
lqq123 发表于 2021-5-28 18:00
求教,如果是xml网页呢,需要怎么加url
网页一般都是html lqq123 发表于 2021-5-28 18:00
求教,如果是xml网页呢,需要怎么加url
网页一般是HTML。
把你想爬的网页发上来,把想爬的内容说清楚。 suchocolate 发表于 2021-5-28 18:08
网页一般是HTML。
把你想爬的网页发上来,把想爬的内容说清楚。
我们内部有个接口查询的地址,查询出来是xml格式的网页,我需要从这上面抓取字段
lqq123 发表于 2021-5-28 18:12
我们内部有个接口查询的地址,查询出来是xml格式的网页,我需要从这上面抓取字段
import requests
from lxml import etree
def main():
url = 'xxx'
headers = {'user-agent': 'firefox'}
r = requests.get(url, headers=headers)
html = etree.XML(r.text)
result = html.xpath('.//CustomerName')
print(result.text)
if __name__ == '__main__':
main()
【我是小白】爬取xml文件里的字段内容,报错ValueError: Unicode strings with enc...
suchocolate 发表于 2021-5-28 18:46还是会报错,已附上测试的url,抓取body字段内容,请大神指点
import requests
from lxml import etree
def main():
url = 'https://www.w3school.com.cn/example/xmle/note.xml'
headers = {'user-agent': 'firefox'}
r = requests.get(url, headers=headers)
html = etree.XML(r.text)
result = html.xpath('.//body')
print(result.text)
if __name__ == '__main__':
main()
lqq123 发表于 2021-5-29 08:44
还是会报错,已附上测试的url,抓取body字段内容,请大神指点
html = etree.XML(r.content) suchocolate 发表于 2021-5-29 09:16
谢谢!{:9_227:}
页:
[1]