1
votes

Existe-t-il un moyen simple de lire les lignes d'un fichier texte vers ce magnifique script python de bibliothèque de soupe?

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)


0 commentaires

3 Réponses :


1
votes
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

0 commentaires

1
votes

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)


0 commentaires

1
votes

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.


0 commentaires