用beautifulsoup 解析xml 文件的html 视图?
Posted
技术标签:
【中文标题】用beautifulsoup 解析xml 文件的html 视图?【英文标题】:parsing an html view of an xml file with beautifulsoup? 【发布时间】:2022-01-12 06:36:10 【问题描述】:我正在尝试从只能作为 html 页面访问的 XML 文件中抓取一些简单数据。
import requests
import pprint
import pandas as pd
from bs4 import BeautifulSoup
url = "https://musicbrainz.org/ws/2/artist/?query=artist:massive-attack"
resp = requests.get(url).text
soup = BeautifulSoup(resp, 'html.parser')
something = soup.find_all(string="artist")
metadata = soup.select("#folder0 > div:nth-child(1)")
beginarea = soup.select("#folder3 > div.opened > div:nth-child(1) > span:nth-child(2)")
print(something)
每当我尝试选择一个元素并打印其内容时,我都会得到 []。我尝试了选择器和 BeautifulSoup 搜索方法,以及使用 ElementTree 将其解析为 XML 文件。我在这里想念什么?我似乎根本无法从页面中获取任何数据。 谢谢。
【问题讨论】:
试试soup = BeautifulSoup(resp, "lxml")
让我知道它是否有效。
【参考方案1】:
from bs4 import BeautifulSoup
import requests
def main(url):
r = requests.get(url)
soup = BeautifulSoup(r.text, 'lxml')
goal = [x.text for x in soup.select('area + name')]
print(goal)
main('https://musicbrainz.org/ws/2/artist/?query=artist:massive-attack')
输出:
['Bristol', 'United Kingdom', 'United States', 'Australia', 'Sweden', 'New Jersey', 'Japan', 'France', 'United Kingdom', 'Australia', 'United Kingdom', 'Germany', 'United States', 'Germany', 'United Kingdom', 'France', 'Quebec']
【讨论】:
非常感谢!!这行得通!以上是关于用beautifulsoup 解析xml 文件的html 视图?的主要内容,如果未能解决你的问题,请参考以下文章
使用python的beautifulsoup读取xml配置文件