- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我试图从“https://www.wunderground.com/personal-weather-station/dashboard?ID=KMAHADLE7#history/tdata/s20170201/e20170201/mcustom.html”天气地下页面中删除历史天气数据。我有以下代码:
import pandas as pd
page_link = 'https://www.wunderground.com/personal-weather-station/dashboard?ID=KMAHADLE7#history/tdata/s20170201/e20170201/mcustom.html'
df = pd.read_html(page_link)
print(df)
Traceback (most recent call last):
File "weather_station_scrapping.py", line 11, in <module>
result = pd.read_html(page_link)
File "/anaconda3/lib/python3.6/site-packages/pandas/io/html.py", line 987, in read_html
displayed_only=displayed_only)
File "/anaconda3/lib/python3.6/site-packages/pandas/io/html.py", line 815, in _parse raise_with_traceback(retained)
File "/anaconda3/lib/python3.6/site-packages/pandas/compat/__init__.py", line 403, in raise_with_traceback
raise exc.with_traceback(traceback)
ValueError: No tables found
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
driver = webdriver.Firefox()
driver.get("https://www.wunderground.com/personal-weather-station/dashboard?ID=KMAHADLE7#history/tdata/s20170201/e20170201/mcustom.html")
elem = driver.find_element_by_id("history_table")
head = elem.find_element_by_tag_name('thead')
body = elem.find_element_by_tag_name('tbody')
list_rows = []
for items in body.find_element_by_tag_name('tr'):
list_cells = []
for item in items.find_elements_by_tag_name('td'):
list_cells.append(item.text)
list_rows.append(list_cells)
driver.close()
最佳答案
这是使用 selenium 进行浏览器自动化的解决方案
from selenium import webdriver
import pandas as pd
driver = webdriver.Chrome(chromedriver)
driver.implicitly_wait(30)
driver.get('https://www.wunderground.com/personal-weather-station/dashboard?ID=KMAHADLE7#history/tdata/s20170201/e20170201/mcustom.html')
df=pd.read_html(driver.find_element_by_id("history_table").get_attribute('outerHTML'))[0]
Time Temperature Dew Point Humidity Wind Speed Gust Pressure Precip. Rate. Precip. Accum. UV Solar
0 12:02 AM 25.5 °C 18.7 °C 75 % East 0 kph 0 kph 29.3 hPa 0 mm 0 mm 0 0 w/m²
1 12:07 AM 25.5 °C 19 °C 76 % East 0 kph 0 kph 29.31 hPa 0 mm 0 mm 0 0 w/m²
2 12:12 AM 25.5 °C 19 °C 76 % East 0 kph 0 kph 29.31 hPa 0 mm 0 mm 0 0 w/m²
3 12:17 AM 25.5 °C 18.7 °C 75 % East 0 kph 0 kph 29.3 hPa 0 mm 0 mm 0 0 w/m²
4 12:22 AM 25.5 °C 18.7 °C 75 % East 0 kph 0 kph 29.3 hPa 0 mm 0 mm 0 0 w/m²
tab=driver.find_element_by_id("history_table")
tab_html=tab.get_attribute('outerHTML')
tab_dfs=pd.read_html(tab_html)
"read_html returns a list of DataFrame objects, even if there is only a single table contained in the HTML content"
df=tab_dfs[0]
关于python - Pandas read_html 值错误 : No tables found,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53398785/
我正在看这个很好的答案:https://stackoverflow.com/a/58211397/3502164 . 解决方案的开头包括: library(httr) library(xml2) gr
我正在尝试从 wiki URL 中提取美国各州,为此我正在使用 Python Pandas。 import pandas as pd import html5lib f_states = pd.rea
无法从 1,2,3,4,5,6 列中获取 CCCCCCC ,将 pd.read_html 格式更改为 123456 后,我的 预期结果 应保留 1,2,3,4,5,6 HTML 代码 html = "
尝试抓取网页标题,但在名为“tweg.com”的网站上遇到问题 library(httr) library(rvest) page.url % html_text() # from rvest r
我想迭代本地计算机上的多个目录,每个目录都包含一个 HTML 文件。我将每个文件的路径存储在列表变量中,但现在我想迭代每个文件并将其读入诸如 pd.read_html 之类的内容,以便从 HTML 文
我正在尝试保存通过 pd.read_html() 引入的多个表中的数据。如果我打印 df,我可以看到它捕获了所有数据,但是在保存数据时它只将第一个表保存到 excel。如何将表格分开,以便我可以将每个
我正在使用以下 read_html() 调用来读取表格(在付费专区后面): df = pd.read_html('http://markets.ft.com/data/equities/tearshe
我的目标是编写一个解析器,从给定的维基百科 URL 收集所有表格数据。我一直在尝试使用 pandas.read_html 方法从示例维基百科页面收集所有表格。不幸的是,它似乎并没有从页面中收集所有表格
我正在使用 pandas.read_html 读取一个 xlm 文件并且几乎完美地工作,问题是该文件使用逗号作为小数点分隔符而不是点(read_html 中的默认值>). 我可以很容易地用一个文件中的
我有这个简单的一行脚本: from pandas import read_html print read_html('http://money.cnn.com/data/hotstocks/', fl
我使用 pd.read_html() 从网页导入表格,但 Python 没有将数据结构化为数据框,而是将其导入为列表。如何将数据导入为数据框?谢谢! 代码如下: import pandas as pd
我正尝试通过此 URL 在 Yahoo Finance 中获取主要世界指数的列表:https://finance.yahoo.com/world-indices .我首先尝试通过运行来获取表中的索引
我用这个代码 library(rvest) url<-read_html("http://en.wikipedia.org/wiki/Brazil_national_football_team") 我
我想检索以下网站上的表格并将它们存储在 Pandas 数据框中:https://www.acf.hhs.gov/orr/resource/ffy-2012-13-state-of-colorado-o
我无法找到如何正确索引我的数据框列 我尝试了一些方法,但找不到合适的方法 import pandas as pd df = pd.read_html('sbi.html') data = df[1]
我正在尝试使用 Pandas read_html 函数获取股票代码列表(而不是使用 Beautiful Soup 来抓取网络)。 我引用的网站是: https://en.wikipedia.org/w
我正在使用 bs4 解析一个 html 页面并提取一个表,下面给出了示例表,我试图将它加载到 pandas 中,但是当我调用 pddataframe = pd.read_html(LOTable,sk
我可以使用下面的代码从一个 URL 打印/获取 CSV 数据框 import bs4 as bs import pandas as pd dfs = pd.read_html('http://www.
我正在使用 pandas 来抓取网站,但它返回的是一整列 'nan' 值,而不是正确的值。我尝试更改几个 read_html() 参数,例如 flavor、converters 和 na_values
我注册通过提供商获取货币价格。当我使用 pd.read_html('URL') 时,出现 403 错误 - 权限被拒绝。所以我然后尝试通过这样做来模拟浏览器- import pandas as pd
我是一名优秀的程序员,十分优秀!