Stock Number Ranking von Qiita Tag mit Python

【Überblick】

Extrahieren Sie Artikel mit den Top 10 Beständen in einem bestimmten Tag.

【Umgebung】

windows8.1  python3.5

【Programm】

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>")

【Ergebnis】

Beim Anzeigen der Codierung mit utf-8 sind verstümmelte Zeichen aufgetreten, daher habe ich sie in Shift-Jis geändert. rank.png

【Problem】

Die Programmausführungszeit ist lang (> _ <)

[Referenzseite]

Informationen im Internet mit Python3 + urllib + BeautifulSoup abrufen Schaben mit Python und schöner Suppe Kratzen mit schöner Suppe

Recommended Posts

Stock Number Ranking von Qiita Tag mit Python
Letzte Ranglistenerstellung mit der Qiita-API mit Python
[Python] Zeichnen Sie ein Qiita-Tag-Beziehungsdiagramm mit NetworkX
[Python] Löschen Sie, indem Sie ein Tag mit Beautiful Soup angeben
Holen Sie sich Lager mit Python
Zahlenerkennung in Bildern mit Python
Zufallsgenerator für französische Zahlen mit Python
Quine Post mit Qiita API (Python)
Primzahlgenerator von Python
Holen Sie sich Qiita-Trends mit Python-Scraping
Ich habe versucht, das Ranking des Qiita-Adventskalenders mit Python zu kratzen
Abrufen von Eigenschaftsinformationen durch Scraping mit Python
Versuchen Sie, sich mit Python bei qiita anzumelden
Speichern Sie Videos Frame für Frame mit Python OpenCV
Laden Sie japanische Aktienkursdaten mit Python herunter
Überprüfen Sie die Aktienkurse mit Slackbot mit Python
Holen Sie sich Artikelbesuche und Likes mit Qiita API + Python
Organisieren Sie mit Python nach Ordnern getrennte Daten
Themenmodell von LDA mit Gensim ~ Nachdenken über den Geschmack des Benutzers vom Qiita-Tag ~
Holen Sie sich eine Liste der Artikel, die von Benutzern mit Python 3 Qiita API v2 veröffentlicht wurden
[Python] Summiert automatisch die Gesamtzahl der von Qiita mithilfe der API veröffentlichten Artikel
Berechnen Sie die Gesamtzahl der Kombinationen mit Python
Holen Sie sich Aktienkursdaten mit Quandl API [Python]
Holen Sie sich den Git-Zweignamen und den Tag-Namen mit Python
Lesen Sie mit Python Zeile für Zeile aus der Datei
Web Scraping mit Python (Aktienkurs)
Python> Nach Nummer sortieren und nach Alphabet sortieren> Sortiert verwenden ()
FizzBuzz in Python3
Scraping mit Python
Statistik mit Python
Scraping mit Python
Python mit Go
Twilio mit Python
In Python integrieren
Spielen Sie mit 2016-Python
AES256 mit Python
Getestet mit Python
Python beginnt mit ()
mit Syntax (Python)
Bingo mit Python
Zundokokiyoshi mit Python
Qiita, frühe Python ♪
Excel mit Python
Mikrocomputer mit Python
Mit Python besetzen
Holen Sie sich sofort die Firmennummer über gbizinfo mit Python
3 Dinge, die mir bei der Analyse von Twitter-Followern mit Python aufgefallen sind
Klassifizieren Sie Artikel mit Tags, die von Qiita durch unbeaufsichtigtes Lernen angegeben wurden
[Zeitreihen mit Handlung] Dynamische Visualisierung mit Handlung [Python, Aktienkurs]
JPEG-Bilderzeugung durch Angabe der Qualität mit Python + OpenCV
[Python] Mit der API von Qiita erhalten Sie Benutzer- und Artikelinformationen
Lernen Sie die asynchrone Verarbeitung / Collouts von Python im Vergleich zu Node.js
Memo von "Cython beschleunigt Python durch Fusion mit C"
Ich habe versucht, AOJs Integer-Theorie mit Python zu lösen