Environnement Mac, Python3
Installez Beautiful Soup et lxml
$ pip install beautifulsoup4
$ pip install lxml
J'ai eu une erreur en cours de route, mais l'installation a réussi. Il n'y a pas de problèmes pour l'instant.
from bs4 import BeautifulSoup
import urllib.request
#Lorsque vous obtenez du code HTML à partir du Web
url = '××××××××××××'
req = urllib.request.Request(url)
response = urllib.request.urlopen(req)
html = response.read()
soup = BeautifulSoup(html, "lxml")
#Lors de l'ouverture directe du HTML local
soup = BeautifulSoup(open("index.html"), "lxml")
Obtenez l'élément en spécifiant la balise contenant les informations souhaitées.
-Spécifiez la classe
soup.find(class_='class_name')
#S'il n'y a pas de trait de soulignement après la classe, une erreur se produit.
-Spécifiez l'identifiant
soup.find(id="id_name")
#L'identifiant reste le même.
-Spécifiez la balise ensemble
soup.find('li', class_='class_name')
soup.find('div', id="id_name")
find () n'obtiendra que le premier coup. Si vous voulez en obtenir plusieurs, utilisez find_all ().
images = soup.find_all('img')
for img in images:
~Traitement individuel~
soup.select("p > a")
soup.select('a[href="http://example.com/"]')
C'est un échantillon après avoir chargé le HTML dans la soupe.
sample.html
<html>
<title>test title</title>
</html>
>>> soup.title
<title>test title</title>
>>> soup.title.string
'test title'
Vous pouvez l'obtenir en ajoutant .string à la fin.
sample.html
<html>
<div id="hoge">
<img class="fuga" src="http://××.com/sample.jpg "/>
</div>
</html>
Tout d'abord, récupérez la balise div avec id = "hoge"
>>> div = soup.find('div' id="hoge")
<div id="hoge">
<img class="fuga" src="http://××.com/sample.jpg "/>
</div>
Ensuite, récupérez la balise img de class = "fuga" de la div
>>> img = div.find('img', class_='fuga')
<img class="fuga" src="http://××.com/sample.jpg "/>
>>> img['src']
"http://××.com/sample.jpg "
Vous n'avez pas vraiment besoin d'obtenir un div avec ce modèle. Cependant, je voulais faire un échantillon qui se rétrécit, alors j'ai ajouté un div.
référence http://www.crummy.com/software/BeautifulSoup/bs4/doc/#installing-beautiful-soup
Recommended Posts