Comments on: Parser du HTML avec BeautifulSoup http://sametmax.com/parser-du-html-avec-beautifulsoup/ Du code, du cul Mon, 28 Oct 2019 11:54:55 +0000 hourly 1 https://wordpress.org/?v=4.9.7 By: pascal http://sametmax.com/parser-du-html-avec-beautifulsoup/#comment-187181 Fri, 12 May 2017 09:25:37 +0000 http://sametmax.com/?p=6161#comment-187181 Bonjour

Débutant en python 3 sous anaconda, j’ai fais un programme qui utilise BS pour trouver les liens contact dans une page web valide.

Selon les URL testées, le lien contact apparait bien dans la console Ipython d’Anaconda mais je ne sais pas comment retrouver la chaine avec python dans la liste de façon à ce que la fonction me retourne le lien.

A priori ce qui est dans la liste n’est pas une chaine mais je ne sais pas comment transformer chaque élément de la liste en chaine pour le tester,

avez vous une idée .

merci d’avance

Le code de la fonction appelée est le suivant :

import urllib.request, urllib.error, urllib.parse

import bs4

import os

import csv

définition des fonctions

def TestAccessible(the_uri):

l’URL du site web est valide, on va chercher s’il existe un lien vers la

page contact et retourner ce lien

html_page = urllib.request.urlopen(the_uri)
#response is now a string you can search through containing the page's html
soup = bs4.BeautifulSoup(html_page, 'html.parser')
LinkList = []
for Link in soup.find_all('a'):
    LinkFound=Link.get('href')
    LinkList.append(LinkFound)
print ("nombre d'URL : ",len(LinkList))
print (LinkList)

“”” chaine = “-“.join(LinkList)

if ("contact" in chaine) :
    print ("URL Contact")

“””

]]>
By: Sam http://sametmax.com/parser-du-html-avec-beautifulsoup/#comment-162397 Sun, 21 Jun 2015 19:48:40 +0000 http://sametmax.com/?p=6161#comment-162397 Parce que lxml ne gère pas les HTML mal formé aussi bien que beautiful soup qui peut avaler des trucs vraiment dégueulasses.

]]>
By: bugs http://sametmax.com/parser-du-html-avec-beautifulsoup/#comment-162395 Sun, 21 Jun 2015 19:36:26 +0000 http://sametmax.com/?p=6161#comment-162395 Pourquoi ne pas utiliser lxml?

Ça permettrais de faire des recherches avec xpath, qui est quand même plus simple/souple surtout pour des sites mal foutu (par exemple grandement basé sur des tableau avec peut de class et id).

]]>
By: Sam http://sametmax.com/parser-du-html-avec-beautifulsoup/#comment-20726 Tue, 04 Mar 2014 09:41:30 +0000 http://sametmax.com/?p=6161#comment-20726 Corrigé pour findall. Par contre findAll est bien un alias de find_all.

]]>
By: Feadurn http://sametmax.com/parser-du-html-avec-beautifulsoup/#comment-20712 Tue, 04 Mar 2014 01:45:03 +0000 http://sametmax.com/?p=6161#comment-20712 Une petite erreur dans l’article, un coup c’est soup.findall('div') la fois suivante c’est soup.findAll('div') alors que cela devrait etre soup.find_all()

Sinon, un grand merci pour cet article qui vient de me sauver un temps fou.

]]>
By: Remram http://sametmax.com/parser-du-html-avec-beautifulsoup/#comment-19058 Tue, 28 Jan 2014 15:49:58 +0000 http://sametmax.com/?p=6161#comment-19058 J’ai été récemment surpris, alors que je cherchais un moyen sans prise de tête de “downgrader” du HTML en text/plain, que BeautifulSoup n’avait aucun moyen préconçu de faire ça. J’ai fini par utiliser html2text d’Aaron Swartz.

J’ai raté un truc ? (me renvoyez pas vers get_text, ça pue)

]]>
By: k3c http://sametmax.com/parser-du-html-avec-beautifulsoup/#comment-18996 Sun, 26 Jan 2014 20:53:32 +0000 http://sametmax.com/?p=6161#comment-18996 Vérifie si rtmpdump et librtmpdump sont bien installés, et si la version est la même pour les 2 (la 2.4 pour moi). Tu peux aussi faire un test rapide, wget d’une Ubuntu 13.10 32 bits, puis
qemu-img create -f qcow2 Ubuntu_1304_image.img 6G
puis
kvm -m 756 -cdrom Téléchargements/ubuntu-13.04-desktop-i386.iso -boot d Ubuntu_1304_image.img
installation, reboot
kvm -m 756 Ubuntu_1304_image.img
installation de rtmpdum et librtmpdump, et test de la commande rtmpdump donnée dans l’article.
rm du .img quand tu as fini.

]]>
By: tester http://sametmax.com/parser-du-html-avec-beautifulsoup/#comment-18959 Sat, 25 Jan 2014 20:08:00 +0000 http://sametmax.com/?p=6161#comment-18959 Merci pour la réponse k3c ;)
En fait c’est carrément la bande annonce que je n’arrive pas à récupérer, ça bloque à 2.60% chez moi avec un retour erreur
Download may be incomplete (downloaded about 2.60%), try resuming
L’argument -e n’y fait rien…j’ai toujours galèrer avec rtmpdump donc je voulais savoir si ça venait de chez moi ou pas (visiblement oui…).

]]>
By: k3c http://sametmax.com/parser-du-html-avec-beautifulsoup/#comment-18957 Sat, 25 Jan 2014 18:56:56 +0000 http://sametmax.com/?p=6161#comment-18957 La vidéo de D8 est une bande-annonce, donc courte. En matière de replay, on ne sait pas récupérer uniquement les vidéos de M6 qui utilisent du Flash Access (Protected Http Dynamic Streaming). La plupart des sites de replay se téléchargent avec rtmpdump ou AdobeHDS.php, certains encore plus simples, avec juste un wget/curl/msdl. Les sites étrangers demandent un proxy en général uniquement pour trouver l’adresse de la vidéo, ensuite la commande à passer n’a pas besoin de proxy.

]]>
By: tester http://sametmax.com/parser-du-html-avec-beautifulsoup/#comment-18949 Sat, 25 Jan 2014 15:11:03 +0000 http://sametmax.com/?p=6161#comment-18949 Elles ne sont pas fragmentées les videos dans la VOD de D8 ? Parce que la commande rtpmdump me renvoie qu’une portion…

]]>