J'essaie d'exporter la sortie d'un webscraper vers un fichier CSV. Le code fonctionne et j'obtiens la bonne sortie quand je l'exécute dans le terminal, mais il ne transfère pas au fichier CSV.La sortie BeautifulSoup n'est pas transférée vers un fichier CSV
Question
Lorsque je supprime la première boucle, il fonctionne très bien, mais je ne peux pas comprendre exactement ce que l'erreur dans cette partie?
code
import csv ; import requests
from bs4 import BeautifulSoup
outfile = open('ImplementTest8.csv','w')
writer = csv.writer(outfile)
writer.writerow(["job_link", "job_desc"])
res = requests.get("http://implementconsultinggroup.com/career/#/6257").text
soup = BeautifulSoup(res,"lxml")
links = soup.find_all("a")
for li in soup.find('ul', class_='list-articles list').find_all('li'):
level = li.find_all('dd', {'class': 'author'})[1].get_text()
if "Graduate" in level:
links = li.find_all("href")
for link in links:
if "career" in link.get("href") and 'COPENHAGEN' in link.text:
item_link = link.get("href").strip()
item_text = link.text.replace("View Position","").encode('utf-8').strip()
writer.writerow([item_link, item_text])
print(item_link, item_text)
Modifié code
import csv ; import requests
from bs4 import BeautifulSoup
outfile = open('ImplementTest8.csv','w')
writer = csv.writer(outfile)
writer.writerow(["job_link", "job_desc"])
res = requests.get("http://implementconsultinggroup.com/career/#/6257").text
soup = BeautifulSoup(res,"lxml")
links = soup.find_all("a")
for li in soup.find('ul', class_='list-articles list').find_all('li'):
level = li.find_all('dd', {'class': 'author'})[1].get_text()
if "Graduate" in level:
links = li.find_all(href=True)
for link in links:
if "career" in link.get("href") and 'COPENHAGEN' in link.text:
item_link = link.get("href").strip()
item_text = link.text.replace("View Position","").encode('utf-8').strip()
writer.writerow([item_link, item_text])
print(item_link, item_text)
Merci TM - Je viens d'essayer de changer le code de (href) à (href = True), mais il me donne l'erreur suivante: Fichier "", ligne 4 SyntaxError: mot-clé ne peut pas être un expression –
N'utilisez pas de guillemets dans 'href', c'est un nom d'argument qui n'est pas une valeur d'argument. La valeur est 'True' –
Got it - la feuille CSV est toujours vide. J'ai ajouté dans le code édité ci-dessus. –