2017-06-07 8 views
0

Ich mag Abkratzen der Börsenpreise Informationen von dieser Website und nachdem sie in eine Datenbank übernehmen: https://www.mnb.hu/arfolyamokPython Web-Scraping Börsenpreise

Ich schrieb diesen Code, aber etwas falsch mit ihm. Wie kann ich es reparieren, wo muss ich es ändern? Ich arbeite mit Python 2.7.13 auf Windows 7.

Der Code ist hier:

import csv 
 
import requests 
 
from BeautifulSoup import BeautifulSoup 
 

 
url = 'https://www.mnb.hu/arfolyamok' 
 
response = requests.get(url) 
 
html = response.content 
 

 
soup = BeautifulSoup(html) 
 
table = soup.find('tbody', attrs={'class': 'stripe'}) 
 

 
list_of_rows = [] 
 
for row in table.findAll('tr')[1:]: 
 
    list_of_cells = [] 
 
    for cell in row.findAll('td'): 
 
     text = cell.text.replace(' ', '') 
 
     list_of_cells.append(text) 
 
    list_of_rows.append(list_of_cells) 
 

 
print list_of_rows 
 

 
outfile = open("./inmates.csv", "wb") 
 
writer = csv.writer(outfile) 
 
writer.writerow(["Pénznem", "Devizanév", "Egység", "Forintban kifejezett érték"]) 
 
writer.writerows(list_of_rows)

+0

Was ist das eigentliche Problem, das Sie gegenüberstehen? –

+0

Ist das der Fehler, den Sie bekommen? 'SyntaxError: Nicht-ASCII-Zeichen '\ xc3' in der Datei scrapetest.py in Zeile 24, aber keine Codierung deklariert; siehe http://python.org/dev/peps/pep-0263/ für Details. – cosinepenguin

+1

Wir sind ** nicht ** ein Code-Schreibdienst, eine Frage sollte hier eine klare Frage haben, sollte auflisten, was Sie versucht haben, zu lösen Ihr Problem, und es sollte alle Informationen enthalten, die uns helfen können, herauszufinden, wo das Problem liegt. Sie sagen "etwas stimmt nicht damit", aber Sie geben nicht an, was damit falsch läuft. Wir müssen wissen, was Ihre erwarteten Ergebnisse sind und was Sie tatsächlich als Ergebnis erhalten. Bitte lesen Sie [Wie Sie eine gute Frage stellen] (https://stackoverflow.com/help/how-to-ask) – GrumpyCrouton

Antwort

1

# coding=utf-8 In den Anfang des Codes. Dies wird helfen, den SyntaxError, den Sie erhalten, zu lösen. Stellen Sie außerdem sicher, dass Ihre Einrückung korrekt ist!