Extrahieren Sie Artikel mit den Top 10 Beständen in einem bestimmten Tag.
windows8.1 python3.5
Ordnen Sie die Python-Tags.
Ausführungsmethode → python stock_rank.py> output.html
stock_rank.py
# -*- coding: utf-8 -*-
import urllib.request
from bs4 import BeautifulSoup
#Initialisierung der Beitragsnummer
cont = []
for i in range(10):
cont.append(0)
#Titelinitialisierung
title = []
for i in range(10):
title.append("")
page_num = 1
while True:
try:
html = urllib.request.urlopen("https://qiita.com/tags/Python/items?page=" + str(page_num)).read()
soup = BeautifulSoup(html, "html.parser")
#HTML-Extraktion durch Angabe einer Klasse
title_all = soup.find_all(class_="publicItem_body")
# publicItem_Seiten ohne Körperklasse überspringen
if len(title_all) == 0:
continue
for i in range(20):
try:
#HTML-Extraktion durch Angabe einer Klasse
cont_all = soup.find_all(class_="publicItem_stockCount")
#Entfernen Sie störende Tags
cont_sakujo = str(cont_all[i]).replace('<i class="fa fa-stock "></i>','')
# cont_all_Da after der Typ str ist, kann die Eigenschaft string nicht verwendet werden
#Konvertieren Sie daher in den Typ "Schöne Suppe"
cont_kazu = int(BeautifulSoup(cont_sakujo, "html.parser").string)
for j in range(10):
if cont_kazu >= cont[j]:
#Ersetzung der Beitragsnummer
cont.insert(j, cont_kazu)
cont.pop()
#Titelzuweisung
title.insert(j, title_all[i])
title.pop()
break
#Artikel überspringen, die von niemandem auf Lager sind
except:
continue
page_num += 1
# HTTP Error 404
except:
break
for i in range(len(title)):
print (str(cont[i]) + " " + str(title[i].a).replace('href="', 'href="http://qiita.com') + "<br>")
Beim Anzeigen der Codierung mit utf-8 sind verstümmelte Zeichen aufgetreten, daher habe ich sie in Shift-Jis geändert.
Die Programmausführungszeit ist lang (> _ <)
Informationen im Internet mit Python3 + urllib + BeautifulSoup abrufen Schaben mit Python und schöner Suppe Kratzen mit schöner Suppe