2016-06-19 8 views
0

Brauchen Sie Hilfe beim Formatieren meiner Python Web Scrape. Aus welchen Gründen auch immer, wenn ich die Informationen bekomme, die ich brauche, scheint es, dass die Wörter nicht richtig platziert wurden und ich nicht sicher bin, wie ich sie beheben kann.Python setzt Tabs in wo keiner sein sollte

Jede Hilfe

Dank

import requests 
from bs4 import BeautifulSoup 

r = requests.get("http://www.canadianappliance.ca/Refrigerators-And-Fridges-3/Full-Size-Refrigerators-38/French-Door-Refrigerators-48/?per_page=all") 

r.content 

soup = BeautifulSoup(r.content) 


g_data = soup.find_all("h2", {"class": "product_link"}) 

for item in g_data: 
    print (item.text) 
+0

Was meinst du mit * * deplatziert Tabbed? –

+0

Sorry vielleicht eingerückt wäre das richtige Wort gewesen. Das erste Wort, das ich erhalte, ist etwa 40 Zeichen rechts vom linken Rand. – nobb666

+0

'[item.text.strip() für Element in g_data]' - ist das was du willst? Alle diese Registerkarten sind im ursprünglichen HTML ... – MaxU

Antwort

1

Verwenden .get_text() Bereitstellung der strip Argument geschätzt. Zusätzlich ersetzen Zeilenumbrüche mit Leerzeichen:

g_data = soup.find_all("h2", {"class": "product_link"}) 
for item in g_data: 
    print(item.get_text(strip=True).replace("\n", " ")) 

Drucke:

Samsung - RF220NCTASR 
Samsung - RF18HFENBSR 
Samsung - RF23HCEDBSR 
... 
Haier - HRF15N3AGS 
GE Profile - PWE23KMKES 
+0

OK, das hat fast funktioniert. Die Einrückungen sind weg, aber die Formatierung platziert die Wörter jetzt in zwei Zeilen. Ich brauche sie auf einer Linie. – nobb666

+0

@ nobb666 yup, aktualisiert die Antwort. Hör zu. – alecxe

+0

Funktioniert perfekt. Vielen Dank – nobb666

Verwandte Themen