Verwenden des Python-Anforderungsmoduls und von Beautiful Soup Die Grundlagen des Scraping Grundlagen
--Code zum Abrufen und Anzeigen des gesamten HTML-Codes der URL:
Holen Sie sich HTML
import requests
url = "https://hogehoge12345.html"
response = requests.get(url)
response.encoding = response.apparent_encoding
print(response.text)
request.get ()
, um eine HTTP-Anfrage an die Argument-URL zu senden und die vom Server zurückgegebene HTTP-Antwort als Rückgabewert zu verwenden.1 Sekunde Intervall
import time
time.sleep(1)
Speichern Sie den abgerufenen Webinhalt in einer Datei
response = requests.get(url)
response.encoding = response.apparent_encoding
exam_html = response.text
with open('exam.html', mode='w', encoding='utf-8') as fp:
fp.write(exam_html)
python
import requests
from bs4 import BeautifulSoup
url = "https://hogehoge12345.html"
response = requests.get(url)
response.encoding = response.apparent_encoding
#HTML analysieren
bs = BeautifulSoup(response.text, 'html.parser')
#Extrahieren Sie das vom ul-Tag eingeschlossene Teil
ul_tag = bs.find('ul')
#Extrahieren Sie das a-Tag im ul-Tag
for a_tag in ul_tag.find_all('a'):
#Holen Sie sich den Text des a-Tags
text = a_tag.text # => "Klicken Sie, um zum Link zu springen"
#Ruft das href-Attribut des a-Tags ab
link_url = a_tag['href'] # => "https://hogehoge12345.html/next"
print('{}: {}'.format(text, link_url))
bs.find ('ul')
-Die find-Methode verfolgt von Anfang an und ruft nur das erste Element ab, aber die find_all-Methode ruft alle Elemente iterativ ab (= kann für Schleifen verwendet werden). Weitere Informationen finden Sie unter Link. -252 /). <div class = "exam_exam1"> -> div.exam1
Methode auswählen
# div.Extrahieren Sie den von Prüfung1 umgebenen Teil
div_exam1 = bs.select('div.exam1')
-Select () hat dieselbe Funktion wie find und find_all, um HTML-Elemente abzurufen und als Liste zurückzugeben. Sie können jedoch CSS-Selektoren in den Suchbedingungen angeben (Details finden Sie unter Link. Blog / Differenz-Finden-und-Auswählen-in-schöner-Python-Suppe /)).
Recommended Posts