Ich habe versucht, mit Python zu kratzen

Dieses Mal werde ich schöne Suppe verwenden. python 3.6.0 BeautifulSoup 4.6.0

Klicken Sie hier für das Dokument Englisch http://www.crummy.com/software/BeautifulSoup/bs4/doc/

japanisch http://kondou.com/BS4/

Installation

$ pip install beautifulsoup4

Führen Sie Torima Beautiful Soup

Es ist ein Programm, das die Daten dieser Seite abruft und den Inhalt des h1-Tags anzeigt. 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)

Wenn nichts unternommen wird, wird die Webseite nicht gefunden, oder der Scraper gibt einen Fehler in einem unerwarteten Datenformat aus. Sie sollten daher die Ausnahmebehandlung schreiben.

Fehler Gegenmaßnahmen

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

Diese Zeile führt zu einem Fehler, wenn die Seite nicht gefunden werden kann Schreiben Sie es also wie folgt um.

try:
	html=urlopen("https://pythonscraping.com/pages/page1.html")
except: 
	print("Die Seite kann nicht gefunden werden")

Diese Zeile kann auch einen Fehler verursachen

bsobj=BeautifulSoup(html.read())

Ich habe es so umgeschrieben.

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

Finden Sie das gewünschte Tag

Sie können das gewünschte Tag mit find () und findAll () finden. Der folgende Code zeigt den Text in `<span class =" green "> </ span>` an

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

Wenn Sie nicht nur class = "green", sondern auch class = "red" anzeigen möchten, schreiben Sie wie folgt um.

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

Entfernen Sie das Tag

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

Dieser Code zeigt den Text `<span class =" green "> </ span>` an, aber die Tags werden auch angezeigt. Wenn Sie nur den Text darin haben möchten, müssen Sie ihn wie folgt umschreiben

#Tags zusammen anzeigen
print(i)

#Anzeige ohne Tags
print(i.get_text)

Recommended Posts

Ich habe versucht, mit Python zu kratzen
Ich habe versucht, mit Python zu kratzen
Ich habe versucht, WebScraping mit Python.
Ich habe fp-Wachstum mit Python versucht
Ich habe gRPC mit Python ausprobiert
Scraping mit Python
Scraping mit Python
Ich habe versucht zu kratzen
Ich habe versucht, Prolog mit Python 3.8.2 auszuführen.
Ich habe die SMTP-Kommunikation mit Python versucht
Scraping in Python (Vorbereitung)
Versuchen Sie es mit Python.
Scraping mit Python + PhantomJS
Ich habe Python> autopep8 ausprobiert
Ich habe versucht, mit Python + opencv nicht realistisch zu rendern
Ich habe eine funktionale Sprache mit Python ausprobiert
Schaben mit Selen [Python]
Ich habe versucht, Yahoo Wetter zu kratzen (Python Edition)
Scraping mit Python + PyQuery
Ich habe Python> Decorator ausprobiert
Scraping von RSS mit Python
# Ich habe so etwas wie Vlookup mit Python # 2 ausprobiert
Ich habe versucht, das Ranking des Qiita-Adventskalenders mit Python zu kratzen
Ich habe versucht, das Bild mit Python + OpenCV zu "glätten"
Ich habe Hunderte Millionen SQLite mit Python ausprobiert
Ich habe versucht, Web-Scraping mit Python und Selen
Ich habe versucht, das Bild mit Python + OpenCV zu "differenzieren"
Ich habe L-Chika mit Razpai 4 (Python Edition) ausprobiert.
Ich habe Jacobian und teilweise Differenzierung mit Python versucht
Ich habe versucht, CloudWatch-Daten mit Python abzurufen
Ich habe versucht, Mecab mit Python2.7, Ruby2.3, PHP7 zu verwenden
Ich habe Funktionssynthese und Curry mit Python versucht
Ich habe versucht, das Bild mit Python + OpenCV zu "binarisieren"
Ich habe versucht, mit Python Faiss zu laufen, Go, Rust
Ich habe versucht, Deep Floor Plan mit Python 3.6.10 auszuführen.
Ich habe versucht, eine E-Mail mit SendGrid + Python zu senden
Web Scraping mit Python + JupyterLab
Schaben mit Selen + Python Teil 1
Schaben mit Chromedriver in Python
Festliches Scraping mit Python, Scrapy
Ich habe versucht, mit Elasticsearch Ranking zu lernen!
Ich habe einen Blackjack mit Python gemacht!
Ich habe versucht, mit PyCaret zu clustern
Scraping mit Selen in Python
Scraping mit Tor in Python
Ich habe die C-Erweiterung von Python ausprobiert
Schaben mit Selen + Python Teil 2
Ich habe mit Python einen Blackjack gemacht.
Web Scraping Anfänger mit Python
Ich habe Wordcloud mit Python gemacht.
Ich habe versucht, Mine Sweeper auf dem Terminal mit Python zu implementieren
Ich habe versucht, mit Blenders Python script_Part 01 zu beginnen
Ich habe versucht, eine CSV-Datei mit Python zu berühren
[OpenCV / Python] Ich habe versucht, Bilder mit OpenCV zu analysieren
Ich habe versucht, Soma Cube mit Python zu lösen
Ich habe versucht, mit Blenders Python script_Part 02 zu beginnen
Ich war süchtig danach, 2020 mit Selen (+ Python) zu kratzen
Ich habe versucht, künstliches Perzeptron mit Python zu implementieren