BeautifulGroup不读取请求获得的整个HTML

2024-09-27 09:29:37 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试从一个体育统计表中提取数据,该表使用beauthoulsoup和requests库以HTML形式呈现。我在python3.5上运行这两个版本。我似乎是通过请求成功地获得了HTML,因为当我显示r.content时,我试图获取的网站的完整HTML就会显示出来。但是,当我把这个传递给BeautifulSoup时,BeautifulSoup会删除大量的HTML,这些HTML本身就是统计表。在

如果您看一看有问题的website,那么从“得分进展”开始的HTML将被删除。在

我认为这个问题与包含在方括号('['和']')之间的HTML片段有关,但是我还没有开发出一个解决办法。我尝试过html、lxml和html5lib解析器来实现BeautifulSoup,但没有成功。我也尝试过提供“用户代理”头,但也没用。在

我的代码如下。为了简洁起见,我没有包含输出。在

import requests
from bs4 import BeautifulSoup

r = requests.get('http://afltables.com/afl/stats/games/2015/031420150402.html')

soup = BeautifulSoup(r.content, 'html5lib')

print(soup)

Tags: 数据import版本网站htmlwebsitecontentrequests
1条回答
网友
1楼 · 发布于 2024-09-27 09:29:37

我使用了一个不同的解析器,它似乎可以工作;只是默认的html解析器。在

from bs4 import BeautifulSoup
from urllib.request import urlopen as uReq

url = 'http://afltables.com/afl/stats/games/2015/031420150402.html'
client = uReq(url)  # grabs the page
soup = BeautifulSoup(client.read(), 'html.parser')  # using the default html parser
tables = soup.find_all('table')  # gets all the tables
print(tables[7])  # scoring progression table, the 8th's table

如果你试过类似的东西汤.餐桌如果没有首先使用“find_all”子句,它似乎会删除其他表,因为它只返回第一个表。在

相关问题 更多 >

    热门问题