Scrap sur de multiple URL

Résolu
Youyou -  
 Youyou -
Bonjour le forum,

J'ai trouvé et essayé ce code python qui marche à merveille pour une url donnée ([https://www.jcchouinard.com/web-scraping-with-python-and-requests-html/]

import re
import requests
from requests_html import HTMLSession
from urllib.parse import urlparse
 
# Get Domain Name With urlparse
url = ["https://www.societe.com/cgi-bin/liste?nom=MINITUBES&dirig=&pre=&ape=&dep=38","https://www.societe.com/cgi-bin/liste?nom=LOGITRADE&dirig=&pre=&ape=&dep=34"]
parsed_url = urlparse(url)
domain = parsed_url.scheme + "://" + parsed_url.netloc
# Get URL 
session = HTMLSession()
r = session.get(url)
# Extract Links
jlinks = r.html.xpath('//*[@id="liste"]/a/div/p[2]/text()[2]')
print(jlinks)


Ma question est comment faire lorsque j'ai plusieurs urls (en l'occurrence plusieurs milliers dans mon cas) ? Le top du top serait d'aller chercher les urls dans un fichier excel :). Si quelqu'un a une piste je suis preneur.

Merci.

2 réponses

yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 584
 
bonjour,
peut-être ainsi:
from requests_html import HTMLSession
 
# Get Domain Name With urlparse
urls = ["https://www.societe.com/cgi-bin/liste?nom=MINITUBES&dirig=&pre=&ape=&dep=38","https://www.societe.com/cgi-bin/liste?nom=LOGITRADE&dirig=&pre=&ape=&dep=34"]
def youyou(url):
    session = HTMLSession()
    r = session.get(url)
    # Extract Links
    jlinks = r.html.xpath('//*[@id="liste"]/a/div/p[2]/text()[2]')
    print(jlinks)
for unurl in urls:
    youyou(unurl)

1
Youyou
 
Super, merci yg_be. Ca fonctionne, j'ai plus qu'a concaténer mes urls, le premiers test sur les 100er a été concluant.

Merci encore.

Bonne journée.
0