Comment puis-je lire les lignes d'un fichier txt dans ce script au lieu d'avoir à lister les URL à l'intérieur du script? Merci
http://www.url1.com http://www.url2.com http://www.url3.com http://www.url4.com http://www.url5.com http://www.url6.com http://www.url7.com http://www.url8.com http://www.url9.com
Le contenu de mon fichier texte a un séparateur de nouvelle ligne:
from bs4 import BeautifulSoup import requests url = "http://www.url1.com" response = requests.get(url) data = response.text soup = BeautifulSoup(data, 'html.parser') categories = soup.find_all("a", {"class":'navlabellink nvoffset nnormal'}) for category in categories: print(url + "," + category.text)
3 Réponses :
file1 = open('text.file', 'r') Lines = file1.readlines() count = 0 # Strips the newline character for line in Lines: print("Line{}: {}".format(count, line.strip())) and you just replace your line by url variable
Pour lire les URL de a.txt
, vous pouvez utiliser ce script:
import requests from bs4 import BeautifulSoup with open('a.txt', 'r') as f_in: for line in map(str.strip, f_in): if not line: continue response = requests.get(line) data = response.text soup = BeautifulSoup(data, 'html.parser') categories = soup.find_all("a", {"class":'navlabellink nvoffset nnormal'}) for category in categories: print(url + "," + category.text)
Pour cet exemple, disons que votre fichier s'appelle urls.txt
. En Python, il est très facile d'ouvrir un fichier et de lire son contenu.
with open('urls.txt', 'r') as f: urls = f.read().splitlines() #Your list of URLs is now in the urls list!
Le 'r'
après 'urls.txt' code > dit simplement à Python d'ouvrir simplement le fichier en mode lecture. Si vous n'avez pas besoin de modifier un fichier, il est toujours recommandé de l'ouvrir en mode lecture seule. f.read () renvoie tout le contenu du fichier, mais il contient des caractères de nouvelle ligne (
\ n
), donc splitlines ()
supprimera ces caractères et créera une liste pour vous.