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.