我想要从返回多页结果的网站中选择的所有网页的结果表。
我尝试了以下代码:
在此处输入代码
import pandas as pd
dfs = []
while i<27:
url = " "
dframe = pd.read_html(url.str(i), header=1)
dfs.append(dframe[0].dropna(thresh=3))
i=i+1
我希望 dframe 能够保存所有 30 页结果的记录。 但我无法运行它,即使运行数小时后它也不会停止运行
最佳答案
import pandas as pd
import numpy as np
df2 = pd.DataFrame()
for i in np.arange(26):
url = "http://stats.espncricinfo.com/ci/engine/stats/index.html?class=2;page="+str(i)+";spanmin1=01+Jan+2007;spanval1=span;template=results;type=bowling"
df = pd.read_html(url)[2]
df2 = pd.concat([df2, df])
df2.drop(columns = 'Unnamed: 14', inplace = True)
这对我有用。当我浏览该网站时,我只有 26 页。我还调查了一个页面,您看到的表是 read_html 返回的列表中的 [2] df 。未命名:14 是最右侧带有箭头的列。
关于python - 从具有多个页面结果的网站抓取网页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55677992/