Scrap sur de multiple URL
Résolu
Youyou
-
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/]
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.
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 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) -
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.