2016-11-20 4 views
1

Ich versuche, den folgenden Text in den Tags zu erhalten.Parsing für Text in Tabelle funktioniert nicht

<td align="center" valign="top">I AM TRYING TO GET THIS</td> 

diese in einer Tabelle ist, und dieser bestimmte Text ist eine bestimmte Zeile und Spalte, ich versuche, dies mit dem Rest der Säule miteinander auszukommen.

Ich habe die für Schleifen versucht, und ich versuchte, dies auch:

r = driver.get("url") 

htmltext = htmlfile.read() 

regex = '<td align="center" valign="top">(.+?)</td>' 

pattern = re.compile(regex) 

grade = re.findall(pattern,htmltext) 

print(grade) 

Ich würde es vorziehen BS4 Weg, es zu tun.

+0

'requests' ist nicht für HTML-Analyse, sondern für das Senden von Daten arbeiten. – furas

+0

BeautifulSoup: 'für x in supp.find_all ('td'): drucken (x.text.strip())' – furas

+0

htmltext = htmlfile.read()? Woher kam diese Datei? vielleicht ist es r.read() –

Antwort

1

ich es nicht kontrollieren kann, aber es sollte

import requests 
from bs4 import BeautifulSoup 

url = 'http://www.w3schools.com/html/html_tables.asp' 

r = requests.get(url) 

soup = BeautifulSoup(r.text, 'html.parser') 

for x in soup.find_all('td'): 
    print(x.text.strip()) 
+0

Ich bekomme diesen Fehler: AttributeError: 'NoneType' -Objekt hat kein Attribut 'text' – KingPey

+0

Es bedeutet, dass Sie kein Element auf der Seite finden, aber Sie 'text' verwenden - also versuchen Sie' None' .text' – furas

+0

Aber das Element ist da? Können Sie Ihre Antwort bearbeiten, um das Problem zu beheben? weißt du wie? – KingPey