2017-07-16 3 views
0

Ich habe ein paar Seiten zu crawlen. Auf jeder Seite befindet sich eine Tabelle. Das will ich genau bekommen. Und die URLs der Seiten unterscheiden sich nur durch die letzte Nummer. Gibt es trotzdem, dass ich pd.read_html verwenden könnte, um alle Tabellen zu erhalten und die Tabellen in eine Tabelle zusammenzuführen?pd.read_html für mehrere Seiten

import pandas as pd 
url_head = 'http://www.kmzyw.com.cn/jiage/today_price.html?pageNum=1' 
data =pd.read_html(url)[0] 
+0

Sie können auf jeden Fall. Wie viele Seiten sprechen wir hier? –

Antwort

0

Sie können jede URL in eine Liste ausgegeben in einer Schleife hinzufügen und dann pd.concat am Ende verwenden, um die Liste zu einem großen Datenrahmen zu kombinieren.

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) 

Ersetzen Sie N mit der Anzahl der Webseiten, die Sie plus eins haben.