2017-10-04 1 views
0

J'essaie de scrapper plusieurs sites Web à partir d'URL dans un fichier txt. Il y a une URL par ligne.Comment faire pour exécuter des URL multiples dans les demandes à partir d'un fichier

mon code est:

Import requests 
from bs4 import BeautifulSoup 

file = open('url.txt', 'r') 
filelines = file.readline() 
urllist = requests.get(filelines) 
soup = BeautifulSoup(urllist.content, "html.parser") 
content = soup.find_all("span", {"class": "title-main-info"}) 
print content 

Mais il imprime seulement le dernier contenu url (dernière ligne). Qu'est-ce que je fais mal? Merci

Répondre

1

Essayez ceci. Cela devrait fonctionner:

import requests 
from bs4 import BeautifulSoup 

with open('url.txt', 'r') as f: 
    for links in f.readlines(): 
     urllist= requests.get(links.strip()) 
     soup = BeautifulSoup(urllist.content, "html.parser") 
     content = soup.find_all("span", {"class": "title-main-info"}) 
     print content 
+0

J'aurais dû considérer cela en premier lieu. Merci. Je vais l'éditer. – SIM

+0

Oui, ça marche! Merci! – Jodmoreira

+0

@Jodmoreira, Si cela fonctionne, n'oubliez pas de marquer cela comme une réponse. – SIM