2016-04-21 8 views
0

Ich habe ein Problem mit meiner Web Scrapping-Anwendung. Ich möchte eine Liste der Grafschaften in einem Staat zurückgeben, aber ich habe ein Problem, nur den Text auszudrucken. Hier druckt es alle Elemente in der Auswahl (es sind Bezirke), aber ich möchte nur die Liste der Bezirke (Kein HTML-Zeug, nur der Inhalt).Web Scraping Probleme

import urllib.request 
from bs4 import BeautifulSoup 
url = 'http://www.stats.indiana.edu/dms4/propertytaxes.asp' 
page = urllib.request.urlopen(url) 
soup = BeautifulSoup(page.read(), "html.parser") 

counties = soup.find_all(id='Select1')#Works 
print(counties) 

Dies gibt den Text von allem auf der Web-Seite ohne HTML-Zeug, das ist das, was ich will, aber er druckt alles auf der Seite:

import urllib.request 
from bs4 import BeautifulSoup 
url = 'http://www.stats.indiana.edu/dms4/propertytaxes.asp' 
page = urllib.request.urlopen(url) 
soup = BeautifulSoup(page.read(), "html.parser") 
counties = soup.get_text()#works 
print(counties) 

ich mich gefragt, ob es eine war Möglichkeit, die beiden zu kombinieren, aber jedes Mal bekomme ich Fehlermeldungen. Ich dachte, das funktionieren könnte:

counties = soup.find_all(id=’Select1’).get_text() 

Ich erhalte ein „kein Attribut‚get_text‘“

Antwort

0

Also, was Sie wirklich wollen, hier zu tun ist, um die Kinder finden (die Optionen) im Auswahlfeld.

select = soup.find_all(id='Select1') 
options = select.findChildren() 
for option in options : 
    print(option.get_text()) 

BeautifulSoup-Referenz ist pretty good. Sie können nach anderen Methoden suchen, die Sie für die Tag-Objekte verwenden können, sowie nach Optionen suchen, die an findChildren übergeben werden.

+0

Schätzen Sie die Hilfe! Ich endete damit, um zu laufen, aber es war dabei: – cparks10

+0

url = 'http://www.stats.indiana.edu/dms4/propertytaxes.asp' page = urllib.request.urlopen (url) Suppe = BeautifulSoup (page.read(), "html.parser") counties = soup.find_all (id = 'Select1') # Works counties = supp.find ('auswählen', {'name': 'geo '}) counties = (counties.get_text()) Drucken (Landkreise) (Probleme bei der Formatierung hier) – cparks10