CSV writer Umlaute richtig darstellen
Verfasst: Freitag 12. Februar 2021, 20:58
Hallo zusammen, ich bin eine totale Python Anfängerin.
Für die Uni muss ich ein Webscraping durchführen. Der Code funktioniert und ich bekomme die Anforderungen als Bewerber für einen neuen Job in eine CSV geschrieben.
Allerdings werden die Umlaute hier nicht richtig dargestellt. Ich habe mich zwar schon ein wenig eingelesen, bekomme es aber nicht hin.
Ich hoffe mir kann hier jemand helfen
Danke schon vorab!!
import requests
from bs4 import BeautifulSoup
import csv
url = 'https://www.stepstone.de/jobs/Junior-Consultant.html'
headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:39.0)'}
res = requests.get(url, headers=headers)
soup = BeautifulSoup(res.text, 'html.parser')
angebote = soup.select('.job-element__url')
firma = soup.select('.job-element__body__company')
filename = 'Stepstone_Kompetenzen_Juiorberater.csv'
# Liste mit Links definieren
links = []
kompetenz_liste =[]
# Liste mit Links füllen
for angebot in angebote:
link = (angebot.get('href'))
links.append(link)
sep = ';'
with open(filename, 'w') as f:
w=csv.writer(f, delimiter = sep)
w.writerow(('Jobangebot', 'Firma', 'Kompetenzen'))
for i in range(len(links)):
url_1 = links
res_1 = requests.get(url_1, headers=headers)
soup = BeautifulSoup(res_1.text, "html.parser")
profil = soup.select('.at-section-text-profile-content')
angebotsbezeichnung = angebote.text.strip('\n').strip(' \n\n')
firmenbezeichnung = firma.text.strip('\n').strip(' \n\n').strip(',')
for p in profil:
kompetenz_1 = p.get_text(strip=True, separator=sep).strip('"')
w.writerow((angebotsbezeichnung, firmenbezeichnung, kompetenz_1))
print('Datei siehe Download Menuleiste als: ' + filename)
Für die Uni muss ich ein Webscraping durchführen. Der Code funktioniert und ich bekomme die Anforderungen als Bewerber für einen neuen Job in eine CSV geschrieben.
Allerdings werden die Umlaute hier nicht richtig dargestellt. Ich habe mich zwar schon ein wenig eingelesen, bekomme es aber nicht hin.
Ich hoffe mir kann hier jemand helfen

Danke schon vorab!!
import requests
from bs4 import BeautifulSoup
import csv
url = 'https://www.stepstone.de/jobs/Junior-Consultant.html'
headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:39.0)'}
res = requests.get(url, headers=headers)
soup = BeautifulSoup(res.text, 'html.parser')
angebote = soup.select('.job-element__url')
firma = soup.select('.job-element__body__company')
filename = 'Stepstone_Kompetenzen_Juiorberater.csv'
# Liste mit Links definieren
links = []
kompetenz_liste =[]
# Liste mit Links füllen
for angebot in angebote:
link = (angebot.get('href'))
links.append(link)
sep = ';'
with open(filename, 'w') as f:
w=csv.writer(f, delimiter = sep)
w.writerow(('Jobangebot', 'Firma', 'Kompetenzen'))
for i in range(len(links)):
url_1 = links
res_1 = requests.get(url_1, headers=headers)
soup = BeautifulSoup(res_1.text, "html.parser")
profil = soup.select('.at-section-text-profile-content')
angebotsbezeichnung = angebote.text.strip('\n').strip(' \n\n')
firmenbezeichnung = firma.text.strip('\n').strip(' \n\n').strip(',')
for p in profil:
kompetenz_1 = p.get_text(strip=True, separator=sep).strip('"')
w.writerow((angebotsbezeichnung, firmenbezeichnung, kompetenz_1))
print('Datei siehe Download Menuleiste als: ' + filename)