簡體   English   中英

從具有多個頁面結果的網站進行網頁抓取

[英]Web scraping from Website having multiple page results

我希望從一個返回多頁結果的網站中選擇所有網頁的結果表。

我嘗試了以下代碼: enter code here

    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是最右邊帶有箭頭的列。

我已經從原始代碼中添加並更改了一些內容,以使其正常運行。

import pandas as pd

dfs = []

i = 0
while i < 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"
    )
    dframe = pd.read_html(url, attrs={"class": "engineTable"})
    dfs.append(dframe[2].drop(columns="Unnamed: 14"))
    i = i + 1

result = pd.concat(dfs)

print(result)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM