2017-11-02 3 views
-7

Ich brauche eine Liste von URLs in einer CSV-Datei zu kratzen.Kratzen Sie mehrere URLs aus CSV mit Beautiful Soup & Python

Ich bin sehr neu für schöne Suppe

+0

Bitte zeigen Sie uns Ihren Versuch :) – yash

+0

Wahrscheinlich finden Sie keine exakte Lösung für * Ihren Code *. Zum Lesen einer CSV, zum Erstellen von HTTP-Anfragen und zum Parsen von HTML in Python gibt es jedoch viele Dokumentationen. Konzentrieren Sie sich darauf, nicht die spezifischen Möglichkeiten, die Ihr Code funktioniert –

+0

Und wenn Sie sagen wollen, dass Sie Dinge gesucht haben, zeigen Sie, was nicht funktioniert, also werden wir Ihre Frage nicht als mögliche Duplikate von ihnen schließen –

Antwort

1

Unter der Annahme, dass Ihre urls.csv Datei wie folgt aussehen:

https://stackoverflow.com;code site; 
https://steemit.com;block chain social site; 

Der folgende Code funktioniert:

#!/usr/bin/python 
# -*- coding: utf-8 -*- 

from bs4 import BeautifulSoup #required to parse html 
import requests #required to make request 

#read file 
with open('urls.csv','r') as f: 
    csv_raw_cont=f.read() 

#split by line 
split_csv=csv_raw_cont.split('\n') 

#remove empty line 
split_csv.remove('') 

#specify separator 
separator=";" 

#iterate over each line 
for each in split_csv: 

    #specify the row index 
    url_row_index=0 #in our csv example file the url is the first row so we set 0 

    #get the url 
    url = each.split(separator)[url_row_index] 

    #fetch content from server 
    html=requests.get(url).content 

    #soup fetched content 
    soup= BeautifulSoup(html) 

    #show title from soup 
    print soup.title.string 

Ergebnis:

Stack Overflow - Where Developers Learn, Share, & Build Careers 
Steemit 

Weitere Informationen: beautifulsoup und requests

+0

Danke STEFANI, dein Beispielskript ist genau, was ich brauchte. – Jun

+0

Gern geschehen Jun! –

+0

schön und sauber. Vielen Dank! – RobBenz

Verwandte Themen