python - 从具有多个页面结果的网站抓取网页

标签 python pandas web-scraping

我想要从返回多页结果的网站中选择的所有网页的结果表。

我尝试了以下代码: 在此处输入代码

    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/

相关文章:

python - For 循环意外结果

python - python中的数据透视表(列中值的总和)

python - 无法单击页面 Selenium python 上的元素

java - 位置 0 处出现意外字符 (B)

python - Panda如何将行分组到不同的时间桶中?

java - jsoup:解析特定标签之后的特定标签的数据

python - 我可以使用 os.mkdir() 在运行时创建具有动态名称的目录吗?

python - 如何迭代列表中任意固定大小的所有连续子数组?

python - PyOpenCL vs Clyther vs 纯 OpenCL 和 C99 : what's the best for novice?

python - 我想将 DataFrame 与 CSV 合并