Überlegen Sie im Qiita-Artikel, was Sie mit Python tun können

Einführung

Was kann ich nach Abschluss des Tutorials tun, wenn ich weiter programmiere? Ich verstehe die Syntax der Sprache, weiß aber nicht, was ich als nächstes tun soll. Ich denke, es gibt eine solche Situation für Anfänger.

Dieses Mal möchte ich eine Vorstellung davon bekommen, was als nächstes zu tun ist, indem ich die Top-Artikel und Tags von Qiita erwerbe und analysiere.

Was ich getan habe

  1. Den Titel von Qiitas Top-Artikel aus einem bestimmten Wort abrufen
  2. Tags abrufen und analysieren, die sich auf ein bestimmtes Wort beziehen

    Kurz gesagt, ich habe versucht, anhand der Tags zu überlegen, welche Art von Genre es gibt, und mich auf das zu beziehen, was ich mache, indem ich mich auf die Top-Artikel beziehe.

    • Grundsätzlich nur kratzen

    Umgebung

    Python 3.9.0

    1. Holen Sie sich den Titel von Qiitas Top-Artikel aus einem bestimmten Wort

    Zum Beispiel habe ich versucht, 10 Seiten mit Top-Artikeln zu erhalten, als ich nach "Python" gesucht habe.

    qiita_title.py

    
    
    import requests
    from bs4 import BeautifulSoup as bs
    
    query = input('please input words : ')
    
    with open(query + '_qiita.txt', 'wb') as outfile:
        for i in range(1,11):
            url = 'https://qiita.com/search?page=' + str(i) + '&q=body%3A' + query + '+tag%3A' + query + '&sort=like'
            res = requests.get(url)
            soup = bs(res.text, 'html.parser')
            titles = soup.find_all('h1', class_="searchResult_itemTitle")
    
            for i in titles:
                s = i.get_text()
                outfile.write(s.encode('utf-8'))
                outfile.write(b'\n \n')
    
    
    

    Ausführungsergebnis: Suchwort = Python

    Zusammenfassung der häufig in der Programmierung verwendeten englischen Wörter [Von Zeit zu Zeit aktualisiert]

    [Zusammenfassung] Über 100 Allzweckwerkzeuge, von denen ich denke, dass sie für Programmierer verloren gehen, die dies nicht wissen

    Wie schreibe ich JavaScript von Imadoki 2018

    Ich möchte, dass neue Programmierer die Flugbahn der Menschheit kennen, um Objektorientierung zu erlangen

    Was ist nach der Registrierung bei AtCoder als Nächstes zu tun? Wenn Sie so viel lösen, können Sie genug kämpfen! Auswahl vergangener Fragen 10 Fragen ~

    ~ Folgendes wird weggelassen.

    Sie können nur die Titel der Top-Artikel von Qiita extrahieren und sich darauf beziehen, was als nächstes zu tun ist. Übrigens fand ich es hier persönlich interessant.

    Beherrschen von Django am schnellsten Teil1 Lernen Sie, indem Sie eine Blockchain erstellen ~ Der schnellste Weg, um zu lernen, wie eine Blockchain funktioniert, besteht darin, sie zu erstellen ~ Das Synonym für "roter Fremder" ist "weißer Liebhaber". Eine Geschichte, die dies automatisch generieren möchte Wenn Sie tiefes Lernen haben, können Sie die 100% ige Wiederherstellungsrate bei Pferderennen überschreiten Als ich aus der Gesamtzahl der Qiita-Artikel eine Rangliste für technische Bücher erstellt habe, waren ungefähr 4000 technische Bücher gut aneinandergereiht

    Ich möchte auch eine Rangliste erstellen ~

    2. Holen Sie sich Tags zu einem bestimmten Wort und analysieren Sie sie

    Dieses Mal wird durch Erfassen und Analysieren der zugehörigen Tags der Top-Artikel beurteilt, welche Art von Dingen für das Suchwort geeignet sind.

    qiita_tag.py

    
    
    import requests
    from bs4 import BeautifulSoup as bs
    import csv
    
    query = input('please input words : ')
    lists = []
    
    for i in range(1,11):
        url = 'https://qiita.com/search?page=' + str(i) + '&q=body%3A' + query + '+tag%3A' + query + '&sort=like'
        # url = 'https://qiita.com/search?page=1' + '&q=body%3A' + query + '+tag%3A' + query + '&sort=like'
        res = requests.get(url)
        soup = bs(res.text, 'html.parser')
        tags = soup.find_all('li', class_="tagList_item")
        for i in tags:
            lists.append(i.get_text())
    
    print("\n /// result is below /// \n")
    print(lists, '\n')
    
    unique_tags = set(lists)
    
    with open('./csv/'+query+'_tags.csv', 'w', newline='') as f:
        for i in unique_tags:
            writer = csv.writer(f)
            writer.writerow([str(i), lists.count(i)])
    
    

    Nach wie vor habe ich die Tags von Artikeln, die von Python gesucht wurden, in csv extrahiert. Ich habe versucht, es unten zu sortieren (die erste Spalte ist das Tag, die zweite Spalte ist die Anzahl der Auftritte (Gesamtzahl der Artikel = 100 Artikel)).

    qiita_tags_python.png

    Wenn man es so betrachtet, kann man sehen, dass es viele "maschinelles Lernen", "tiefes Lernen" und "Datenverarbeitung" gibt, die auch Sprachen sind, die Daten verarbeiten. Da als nächstes auch viele "Django", "Scraping", "Ruby" usw. zu sehen sind, ist ersichtlich, dass auch eine Nachfrage nach Websystemen besteht. Dies liegt nicht daran, dass Python für das Web-System verwendet wird, sondern daran, dass es viele Leute gibt, die Web-Entwicklung betreiben. Ich denke, dass die Anzahl der Web-System-Tags entsprechend zunimmt (ich weiß nicht).

    abschließend

    Es stellte sich also heraus, dass Python eine Sprache ist, die stark in der Datenverarbeitung wie dem maschinellen Lernen ist (es war von früher bekannt). Obwohl ich selbst Python lerne, bin ich immer noch eine Jungfrau des maschinellen Lernens, daher möchte ich im nächsten Artikel darauf eingehen.

    Recommended Posts