我有几页要抓取。每页都有一张桌子。这就是我想要得到的。并且页面的网址仅与最后一个数字不同。反正我是否可以使用pd.read_html来获取所有表并将表合并到一个表中?
import pandas as pd
url_head = 'http://www.kmzyw.com.cn/jiage/today_price.html?pageNum=1'
data =pd.read_html(url)[0]
答案 0 :(得分:1)
您可以将每个网址输出添加到循环中的列表中,然后在末尾使用pd.concat
将列表合并到一个大型数据框中。
import pandas as pd
df_list = []
for i in range(1, N):
url_head = 'http://www.kmzyw.com.cn/jiage/today_price.html?pageNum=%d' %i
df_list.append(pd.read_html(url)[0])
df = pd.concat(df_list)
将N
替换为您拥有的网页数加1。
答案 1 :(得分:0)
@ cs95感谢您以上的回答。这不是一个答案,但我想为此URL实现此功能,但它只会为第一页拉出重复的行。我还要补充什么? rawurl https://finance.yahoo.com/screener/predefined/undervalued_growth_stocks?count=100&offset=0
import pandas as pd
df_list = []
for i in range(1, 3):
url = 'https://finance.yahoo.com/screener/predefined/undervalued_growth_stocks?count=100&offset=%d' %i
df_list.append(pd.read_html(url)[0])
df = pd.concat(df_list)