【发布时间】:2021-08-29 00:47:32
【问题描述】:
首先我想说我正在运行 Python 3.8
我收到了这个 ValueError: No tables found matching pattern '.+' from two different sites,而不仅仅是 'https://www.worldometers.info/coronavirus/'
这是我的第一个代码:
import pandas as pd
import numpy as np
import requests
from bs4 import BeautifulSoup
from IPython.display import display, HTML
from datetime import date
today = date.today()
caption = 'Coronavirus Data {}'.format(today)
#HTML To DataFrame
url = 'https://www.worldometers.info/coronavirus/'
r = requests.get(url)
html_doc = r.text
soup = BeautifulSoup(html_doc)
yesterday = soup.find('div', attrs={'id':'nav-yesterday'})
dfs = pd.read_html(yesterday.prettify(), flavor = 'bs4')[0]
print(dfs)
第二个:
import pandas as pd
import numpy as np
import requests
from bs4 import BeautifulSoup
from IPython.display import display, HTML
url = 'https://www.stadiumsofprofootball.com/comparisons/'
r = requests.get(url)
text = r.text
soup = BeautifulSoup(text)
table = soup.find_all('table')[0]
df = pd.read_html(soup.prettify())
我已经通过 .find_all('table') 验证了我要抓取的两个表实际上都包含在“table /table”中,所以我不确定问题是什么。
我只是在此创建一个单独的主题,因为我知道 worldometers 冠状病毒网站有主题,但这些解决方案都不适合我,而且我也在另一个网站上看到它。
我不确定是 BeautifulSoup 错误还是发生了什么。
【问题讨论】:
-
请使用回溯发布整个错误以及错误发生在哪一行
标签: python pandas beautifulsoup