2017-05-06 2 views
0

Ich bin relativ neu in Python. Ich versuche, Urls von einer Site abzuschaben und sie in eine CSV-Datei zu schreiben. Ich konnte die URLs drucken, aber ich konnte sie nicht schreiben oder irgendwo speichern. Irgendeine Hilfe?Python: Scrapping Links in eine CSV

import requests 
import csv 
from bs4 import BeautifulSoup 
url = 'http://comm.eval.org/communities/resources/libraryview?LibraryKey=1eff4fd7-afa0-42e1-b275-f65881b7489b' 
r=requests.get(url) 
html_url = r.text 
soup = BeautifulSoup(html_url, "html.parser") 
with open('output.csv', 'wb') as f: 
    bsoup_writer = csv.writer(f) 
    for link in soup.find_all('a'): 
     bsoup_writer.writerow([link.get('href'), link.get('class'), link, get('id')]) 
+0

@YashTD ich die bearbeitete Code oben, um Ihre Vorschläge zu widerspiegeln, bekomme ich jedoch einen Fehler: Traceback (letzter Aufruf zuletzt): Datei "", Zeile 4, in NameError: Name 'get' ist nicht definiert Haben Sie irgendwelche Gedanken? Muss ich auch die Ausgabedatei erstellen, oder erstellt der Code sie? –

Antwort

0

Dies sollte das tun, was Sie suchen:

with open('output.csv', 'wb') as f: 
    bsoup_writer = csv.writer(f) 
    for link in soup.find_all('a'): 
     bsoup_writer.writerow([link.get('href'), link.get('class'), link.get('id')]) 

unbedingt die folgenden csv Import am Anfang des Skripts enthalten:

import csv 
+1

Sie können dies mit 'csv.writer' verbessern –