【发布时间】:2018-08-15 06:08:58
【问题描述】:
我正在使用 Python 进行一些网络抓取,但在提取表值时遇到了一些问题。例如,我有兴趣从http://www.etf.com/etfanalytics/etf-finder 中抓取 ETF 值。下面是我试图从中删除值的表的快照。
这是我试图在抓取中使用的代码。
#Import packages
import pandas as pd
import requests
#Get website url and get request
etf_list = "http://www.etf.com/etfanalytics/etf-finder"
etf_df = pd.read_html(requests.get(etf_list, headers={'User-agent':
'Mozilla/5.0'}).text)
#printing the scraped data to screen
print(etf_df)
# Output the read data into dataframes
for i in range(0,len(etf_df)):
frame[i] = pd.DataFrame(etf_df[i])
print(frame[i])
我有几个问题。
- 表格仅包含 20 个条目,而网站上每个表格的总条目应为 2166 个条目。如何修改代码以提取所有值?
- 从站点抓取后,某些数据帧无法正确分配。例如,frame[0] 的输出不是数据帧格式,当尝试在 Python 控制台下查看为 DataFrame 时,没有看到 frame[0] 的任何内容。但是,打印到屏幕时似乎很好。如果我使用 beautifulSoup 来分阶段 HTML 会更好吗?
【问题讨论】:
-
忘记添加了。这是在pycharm IDE下用python 3.6编写的。
标签: python html web-scraping