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

  1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 588
     
    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
  2. 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