2017-11-09 4 views
0

Ich arbeitete an Daten schabt mit schönen Suppe auf mehreren Seiten für die folgende Website und war in der Lage, es zu tun. Kann ich mit Pandas Daten für mehrere Seiten scrappen? Es folgt der Code, um eine einzelne Seite zu scrappen und die URL hat eine Verknüpfung zu anderen Seiten als http://www.example.org/whats-on/calendar?page=3.PANDAS Web Scraping mehrere Seiten

import pandas as pd 
url = 'http://www.example.org/whats-on/calendar?page=3' 
dframe = pd.read_html(url,header=0) 
dframe[0] 
dframe[0].to_csv('out.csv') 

Antwort

0

Einfach über den Zahlenbereich schleifen und an eine Liste von Datenrahmen anhängen. Anschließend verketten Sie zu einer großen Datei. Ein Problem Ihres aktuellen Codes ist header=0 ist die erste Zeile. Seiten haben jedoch keine Spaltenüberschriften. Verwenden Sie daher header=None und benennen Sie dann die Spalten um.

Unten scrabbert Seiten 0 - 3. Verlängern Sie die Schleifengrenze für die anderen Seiten.

import pandas as pd 

dfs = [] 

# PAGES 0 - 3 SCRAPE 
url = 'http://www.lapl.org/whats-on/calendar?page={}' 
for i in range(4):  
    dframe = pd.read_html(url.format(i), header=None)[0]\ 
         .rename(columns={0:'Date', 1:'Topic', 2:'Location', 
              3:'People', 4:'Category'})   
    dfs.append(dframe) 

finaldf = pd.concat(dfs)    
finaldf.to_csv('Output.csv') 

Ausgabe

print(finaldf.head()) 
#         Date            Topic           Location        People      Category 
# 0 Thu, Nov 09, 201710:00am to 12:30pm California Healthier Living : A Chronic Diseas...    West Los Angeles Regional Library       Seniors      Health 
# 1 Thu, Nov 09, 201710:00am to 11:30am Introduction to Microsoft WordLearn the basics... North Hollywood Amelia Earhart Regional Library  Adults, Job Seekers, Seniors    Computer Class 
# 2    Thu, Nov 09, 201711:00am      Board of Library Commissioners         Central Library        Adults      Meeting 
# 3 Thu, Nov 09, 201712:00pm to 1:00pm Tech TryOutCentral Library LobbyDid you know t...         Central Library      Adults, Teens    Computer Class 
# 4 Thu, Nov 09, 201712:00pm to 1:30pm Taller de Tejido/ Crochet WorkshopLearn how to...     Benjamin Franklin Branch Library Adults, Seniors, Spanish Speakers Arts and Crafts, En Español 
+0

Das ist wirklich hilfreich war. Ich werde versuchen, mehr Dinge auf Pandas zu erkunden. Sieht spaßig aus. Vielen Dank. –

+0

Großartig! Froh, dass ich helfen konnte. In der Tat macht es Spaß. Glückliche Kodierung! – Parfait