我对使用python从web上收集数据还是个新手。我感兴趣的是写一个从xml网页收集数据的脚本。地址如下:
https://www.w3schools.com/xml/guestbook.asp
import requests
from lxml import html
url = "https://www.w3schools.com/xml/guestbook.asp"
page = requests.get(url)
extractedHtml = html.fromstring(page.content)
guest = extractedHtml.xpath("/guestbook/guest/fname")
print(guest)我不确定为什么这会返回一个空列表。我在xpath语句中尝试了许多语法,因此我对我的整体结构是否正确失去了信心。
对于上下文,我想编写一些东西来解析整个xml网页,并返回一个可以在其他程序中使用的csv。我从基础知识开始,以确保理解各种包的工作原理。谢谢你的帮助。
发布于 2020-05-19 04:27:33
这应该就行了
import requests
from lxml import html
url = "https://www.w3schools.com/xml/guestbook.asp"
page = requests.get(url)
extractedHtml = html.fromstring(page.content)
guest = extractedHtml.xpath("//guestbook/guest/fname")
for i in guest:
print(i.text)在xpath中,开头需要一个双破折号。此外,这将返回一个包含元素的列表。可以使用.text提取每个元素的文本
https://stackoverflow.com/questions/61878087
复制相似问题