2017-02-19 5 views
1

Also ich kratze diese Website: http://www.basket.ee/et/meistriliiga/1/ajakava-ja-tulemused/?gid=2017001101 und ich bin nicht in der Lage, die Daten aus der zweiten Tabelle zu bekommen. Die Statistiken der ersten Teams sind im Quellcode, die der zweiten Teams jedoch nicht.Web scraping eine Tabelle und kann den Quellcode nicht finden

Wenn ich rechts klicke und den Quellcode im Browser gucke, dann kann ich die Tabelle beider Teams sehen, aber wenn ich die Daten mit BeautifulSoup abkratze, ist die Tabelle da, aber keine Daten darin.

Antwort

0

I Demo für Sie gemacht, Sie diese refrence können:

import requests, bs4 

r = requests.get('http://www.basket.ee/et/meistriliiga/1/ajakava-ja-tulemused/?gid=2017001101') 

soup = bs4.BeautifulSoup(r.text, 'lxml') 

tables = soup.find_all('table', class_='basket_table')[1:] 
for table in tables: 
    for tr in table('tr', attrs=False): 
     row = [cell.text for cell in tr(['td', 'th'])] 
     print(row) 

aus:

['Nr.', 'Mängija', 'Pos.', 'Min', '2p', '3p', '1p', 'KL', 'RL', 'L', 'RS', 'VL', 'BL', 'PK', 'V', 'VM', 'PNK', 'PIR'] 
['4', 'Paiste, Mario *', '2', '31:53', '4/7', '2/6', '1/3', '2', '1', '3', '2', '1', '0', '3', '4', '4', '15', '9'] 
['5', 'Post, Siim-Markus *', '1', '23:32', '1/2', '1/5', '2/5', '2', '0', '2', '2', '1', '0', '3', '5', '5', '7', '1'] 
['6', 'Metsalu, Oliver *', '3', '30:46', '2/7', '0/1', '0/0', '3', '2', '5', '3', '1', '0', '3', '5', '0', '4', '-1'] 
+1

Vielen Dank für Ihre Antwort, aber ich schaffte es, einen Weg zu finden bekomme mein Skript auch. Ich habe gerade "html_parser" 'durch' 'lxml" 'ersetzt. –

+0

@Ivalo Pajumets html.Parser ist kaputt, benutze es nicht –

0

Es ist ein bisschen hart du ohne Code ;-)

debuggen Code zu helfen, aber ich vermute, dass Sie entweder die find Methode verwenden, die nur das erste Spiel zurückkehrt, oder Sie haben einen Fehler in deinen Selektoren.

Ein kurzer Blick auf die Website zeigt, dass wenn Sie find_all verwenden und wählen Sie auf der 'basket_table' Klasse erhalten Sie eine Liste von drei Tabellen, wobei die letzteren beiden diejenigen, die Sie betrachten.

Werfen Sie einen Blick here für Anweisungen zur Suche nach CSS-Klasse.

Hoffe, es hilft