Mathias
Révision datée du 16 décembre 2022 à 11:21 par MathiasR (discussion | contributions) (Page créée avec « <syntaxhighlight lang = "python"> #la librairie qui permet de se connecter au site import mechanize #la librairie qui permet d'analyser la structure html import lxml.html... »)
<syntaxhighlight lang = "python">
- la librairie qui permet de se connecter au site
import mechanize
- la librairie qui permet d'analyser la structure html
import lxml.html
- la librairie qui permet de sélectionner une info dans la structure html
import cssselect
import ssl
def getHtmlElements(url, selecteurCss):
#1. télécharger la source html de la page url browser = mechanize.Browser() browser.addheaders = [('User-agent', 'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.1) Gecko/2008071615 Fedora/3.0.1-1.fc9 Firefox/3.0.1')] browser.set_handle_robots(False) #problème https browser.set_ca_data(context=ssl._create_unverified_context(cert_reqs=ssl.CERT_NONE)) data = browser.open(url, timeout=10) with open("output.txt", 'w') as f: f.write(str(data.read())) #2. analyser la source et la transformer en structure html navigable source = data.read() html = lxml.html.fromstring(source)
#3. viser l'information qui nous intéresse #convertir mon sélecteur css en objet cssselect selecteurs = cssselect.parse(selecteurCss) #0 #[objet cssselect] selecteur = selecteurs[0] chemin_xpath = cssselect.HTMLTranslator().selector_to_xpath(selecteur) resultats = html.xpath(chemin_xpath) return resultats #print(resultats)
goodLinks = []
links = getHtmlElements('https://www.lostmediawiki.com/Article_listing', "h3 .mw-headline a")
for link in links:
goodLinks.append("https://www.lostmediawiki.com"+link.get('href'))
articles = []
- print(goodLinks)
for goodLink in goodLinks:
articleLinks = getHtmlElements(goodLink, '.mw-parser-output ul li a') for articleLink in articleLinks: articles.append("https://www.lostmediawiki.com"+articleLink.get('href'))
print(articles) print(len(articles)) </syntaxhighight>