Python 从<;中的html表提取数据;p>;而不是<;表>;
我一直在使用pd.read_html试图从url中提取数据,但数据列在标记中,而不是列表中。我可能错过了一个简单的教训,但我不确定使用什么函数来获得好的结果(表),而不是我得到的长字符串。如有任何建议,将不胜感激! 我使用了这两种方法,得到了相同的结果:Python 从<;中的html表提取数据;p>;而不是<;表>;,python,pandas,dataframe,import,html-parsing,Python,Pandas,Dataframe,Import,Html Parsing,我一直在使用pd.read_html试图从url中提取数据,但数据列在标记中,而不是列表中。我可能错过了一个简单的教训,但我不确定使用什么函数来获得好的结果(表),而不是我得到的长字符串。如有任何建议,将不胜感激! 我使用了这两种方法,得到了相同的结果: 导入请求 作为pd进口熊猫 url='1〕http://www.linfo.org/acronym_list.html' dfs=pd.read\uHTML(url,标题=0) df=局部放电浓度(dfs) df import pandas
导入请求
作为pd进口熊猫
url='1〕http://www.linfo.org/acronym_list.html'
dfs=pd.read\uHTML(url,标题=0)
df=局部放电浓度(dfs)
df
import pandas as pd
url ='http://www.linfo.org/acronym_list.html'
data = pd.read_html(url, header=0)
data[0]
出[1]:
AMD高级微设备API应用程序编程接口ARP地址解析协议ARPANET高级研究项目代理网络作为自治系统ASCII美国信息交换标准码AT&T美国电话电报公司ATA高级技术附件ATM异步传输模式B字节BELUG Bellevue Linux用户组BGP边界网关协议…我正在使用BeautifulSoup解析请求html每个标记p和br,最终结果是一个数据帧…稍后您可以将其导出到excel文件中…希望能对您有所帮助
from bs4 import BeautifulSoup
import requests
import pandas as pd
result = requests.get('http://www.linfo.org/acronym_list.html')
c = result.content
soup = BeautifulSoup(c, "html.parser")
samples = soup.find_all("p")
rows_list = []
for row in samples:
tagstrong = row.find_all("strong")
for x in tagstrong:
#print(x.get_text())
tagbr = row.find_all("br")
for y in tagbr:
new_row = {'letter':x.get_text(), 'content':y.next}
rows_list.append(new_row)
df1 = pd.DataFrame(rows_list)
print(df1.head(10))
结果是:
您对结果的期望是什么?我希望得到一个表的结果,就好像我对表标记中的相同数据运行了该脚本一样。我知道我可以将页面保存为html文件并编辑标记以使其正常工作,但我只是在寻找一种方法以供将来参考。我正在使用BeautifulSoup解析请求html每个标记p和br,最终结果是一个数据框…稍后您可以将其导出到excel文件中below@jakeant2我们是来帮助我们的