J'ai essayé de gratter avec du python

Cette fois, j'utiliserai Beautiful Soup. python 3.6.0 BeautifulSoup 4.6.0

Cliquez ici pour le document Anglais http://www.crummy.com/software/BeautifulSoup/bs4/doc/

Japonais http://kondou.com/BS4/

Installation

$ pip install beautifulsoup4

Exécuter Torima Beautiful Soup

C'est un programme qui récupère les données de cette page et affiche le contenu de la balise h1. https://pythonscraping.com/pages/page1.html

from urllib.request import urlopen
from bs4 import BeautifulSoup 
html=urlopen("https://pythonscraping.com/pages/page1.html")
bsobj=BeautifulSoup(html.read())

print(bsobj.h1)

Si rien n'est fait, la page Web ne sera pas trouvée, ou le racleur lancera une erreur dans un format de données inattendu, vous devez donc écrire la gestion des exceptions.

Contre-mesures d'erreur

html=urlopen("https://pythonscraping.com/pages/page1.html")

Cette ligne entraînera une erreur si la page est introuvable Alors, réécrivez-le comme suit.

try:
	html=urlopen("https://pythonscraping.com/pages/page1.html")
except: 
	print("Page non trouvée")

Cette ligne peut également provoquer une erreur

bsobj=BeautifulSoup(html.read())

Je l'ai réécrit comme ça.

try:
    bsobj=BeautifulSoup(html.read())
    print(bsobj.h1)
except:
    print("error")

Trouvez le tag que vous voulez

Vous pouvez trouver la balise souhaitée en utilisant find () et findAll () Le code suivant affiche le texte dans <span class = "green"> </ span> ``

span_list = bsobj.findAll("span",{"class":"green"})

Si vous souhaitez afficher non seulement class = "green" mais également class = "red", réécrivez comme suit.

span_list = bsobj.findAll("span",{"class":{"red","green"}})

Supprimer le tag

span_list = bsobj.findAll("span",{"class":"green"})
for i in span_list:
    print(i)

Ce code affiche le texte <span class = "green"> </ span>, mais les balises sont également affichées. Si vous ne voulez que le texte à l'intérieur, vous devez le réécrire comme suit

#Afficher les balises ensemble
print(i)

#Affichage sans balises
print(i.get_text)

Recommended Posts

J'ai essayé de gratter avec Python
J'ai essayé de gratter avec du python
J'ai essayé webScraping avec python.
J'ai essayé fp-growth avec python
J'ai essayé gRPC avec Python
Grattage avec Python
Grattage avec Python
J'ai essayé de gratter
J'ai essayé d'exécuter prolog avec python 3.8.2.
J'ai essayé la communication SMTP avec Python
Grattage en Python (préparation)
Essayez de gratter avec Python.
Grattage avec Python + PhantomJS
J'ai essayé Python> autopep8
J'ai essayé le rendu non réaliste avec Python + opencv
J'ai essayé un langage fonctionnel avec Python
Grattage avec du sélénium [Python]
J'ai essayé de gratter la météo Yahoo (édition Python)
Scraping avec Python + PyQuery
J'ai essayé Python> décorateur
Scraping RSS avec Python
# J'ai essayé quelque chose comme Vlookup avec Python # 2
J'ai essayé de gratter le classement du calendrier de l'avent Qiita avec Python
J'ai essayé de "lisser" l'image avec Python + OpenCV
J'ai essayé des centaines de millions de SQLite avec python
J'ai essayé le web scraping en utilisant python et sélénium
J'ai essayé de "différencier" l'image avec Python + OpenCV
J'ai essayé L-Chika avec Razpai 4 (édition Python)
J'ai essayé la différenciation jacobienne et partielle avec python
J'ai essayé d'obtenir des données CloudWatch avec Python
J'ai essayé d'utiliser mecab avec python2.7, ruby2.3, php7
J'ai essayé la synthèse de fonctions et le curry avec python
J'ai essayé de "binariser" l'image avec Python + OpenCV
J'ai essayé d'exécuter faiss avec python, Go, Rust
J'ai essayé d'exécuter Deep Floor Plan avec Python 3.6.10.
J'ai essayé d'envoyer un email avec SendGrid + Python
Web scraping avec python + JupyterLab
Grattage avec Selenium + Python Partie 1
Grattage avec chromedriver en python
Grattage festif avec Python, scrapy
J'ai essayé Learning-to-Rank avec Elasticsearch!
J'ai fait un blackjack avec du python!
J'ai essayé le clustering avec PyCaret
Grattage avec du sélénium en Python
Grattage avec Tor en Python
J'ai essayé l'extension C de Python
Grattage avec Selenium + Python Partie 2
J'ai fait un blackjack avec Python.
Web scraping débutant avec python
J'ai créé wordcloud avec Python.
J'ai essayé d'implémenter Mine Sweeper sur un terminal avec python
J'ai essayé de démarrer avec le script python de blender_Part 01
J'ai essayé de toucher un fichier CSV avec Python
[OpenCV / Python] J'ai essayé l'analyse d'image de cellules avec OpenCV
J'ai essayé de résoudre Soma Cube avec python
J'ai essayé de démarrer avec le script python de blender_Partie 02
J'étais accro au grattage avec Selenium (+ Python) en 2020
J'ai essayé d'implémenter le perceptron artificiel avec python