2017-09-03 1 views
-1

Ich möchte die erste Kopfzeile aus meinen Daten scraped überspringen, ich habe mit dem Schreiben Code dafür zu kämpfen, würde jede Hilfe geschätzt werden.Wie überspringe ich die erste Kopfzeile in der Tabelle, während Schrott

Der Code, den ich mit so weit kam haben:

import csv 
import urllib.request 
from bs4 import BeautifulSoup 
soup = BeautifulSoup(urllib.request.urlopen("http://tis.nhai.gov.in/TollInformation?TollPlazaID=236").read(),'lxml') 
tbody = soup('table' ,{"class":"tollinfotbl"})[0].find_all('tr') 
for row in tbody: 
    cols = row.findChildren(recursive=False) 
    cols = [ele.text.strip() for ele in cols] 
+0

'tbody = Suppe ('table', { "Klasse": "tollinfotbl" }) [0] .find_all ('tr') [1:] 'wahrscheinlich .. –

+0

seine Arbeit für den ersten Kopf, wenn ich alle Zeit Kopf überspringen möchte, während die Tabelle drucken ?? Ich meine alle Kopfzeile – Prashant

+0

ich don 'ich verstehe nicht. Es ist nur ein Tisch, also sollte es nur einen Header haben. Es sei denn, ich missverstehe dich. –

Antwort

0

ausführen. Du wirst diese leeren Klammern nicht mehr haben.

import urllib.request ; from bs4 import BeautifulSoup 

soup = BeautifulSoup(urllib.request.urlopen("http://tis.nhai.gov.in/TollInformation?TollPlazaID=236").read(),'lxml') 
table = soup.find('table' ,{"class":"tollinfotbl"}) 
rows = [[ele.text.strip() for ele in item.find_all("td")] 
     for item in table.find_all("tr")] 
for data in rows: 
    print(' '.join(data)) 

Und mit Anfragen Modul, wenn Sie mögen:

import requests 
from bs4 import BeautifulSoup 
soup = BeautifulSoup(requests.get("http://tis.nhai.gov.in/TollInformation?TollPlazaID=236").text,'lxml') 
titles = soup.select("table.tollinfotbl")[0] 
list_row =[[tab_d.text.strip() for tab_d in item.select('td')] 
      for item in titles.select('tr')] 

for data in list_row: 
    print(' '.join(data)) 

Dies ist das Ergebnis:

45.00 70.00 1565.00 25.00 

75.00 115.00 2525.00 40.00 

160.00 240.00 5290.00 80.00 

175.00 260.00 5770.00 85.00 

250.00 375.00 8295.00 125.00 

250.00 375.00 8295.00 125.00 

305.00 455.00 10100.00 150.00 
+0

Hallo, Danke. können Sie einige Hinweise dazu bereitstellen .. Ich bin Anfänger und möchte mehr über Verschrottung erfahren – Prashant

0

Das ist wirklich schlecht und über übertrieben, aber hier ist es:

row_num = 0 
for row in tbody: 
    if row_num > 0: 
     cols = row.findChildren(recursive=False) 
     cols = [ele.text.strip() for ele in cols] 
    row_num = row_num + 1 
Verwandte Themen