[PYTHON] Holen Sie sich den Titel der Yahoo News und analysieren Sie die Stimmung

Holen Sie sich Yahoo News-Inhalte

Bitte übernehmen Sie die Verantwortung für den Erwerb des Inhalts.

from tqdm import tqdm
import urllib.parse
import time

jp_keyword = ''#Suchschlüsselwort eingeben
page_num=int()#()Geben Sie die Gesamtzahl der Seiten in ein

#URL-Codierung Japanisch
keyword = urllib.parse.quote(jp_keyword)

#Titelliste
title_list=[]
#Datumsliste veröffentlichen
date_list=[]
for i in tqdm(range(1,page_num-1)):
    
    url="https://news.yahoo.co.jp/search/?p="+keyword+"&st=n&ei=UTF-8&b="+str(i)+"1"
    print(url)
    res = requests.get(url)
    #Lassen Sie eine Lücke, um den Server nicht zu überlasten
    time.sleep(2)
    #Erstellen Sie ein BeautifulSoup-Objekt aus dem Antwort-HTML
    soup = BeautifulSoup(res.content, 'html.parser')

    #Holen Sie sich die Zeichenfolge des Titel-Tags
    title_text = soup.find_all('h2')
    for x in title_text:
        title_list.append(x.text)
    
    date_text=soup.find_all('span', class_="d")
    for x in date_text:
        date_list.append(x.text)
    

Erstellen Sie eine Funktion zur Stimmungsanalyse

Informationen zum Abrufen der API finden Sie auf der folgenden Website.

Schnellstart: API-Einstellungen für natürliche Sprache (https://cloud.google.com/natural-language/docs/setup?hl=ja) Verwenden Sie API-Schlüssel (https://cloud.google.com/docs/authentication/api-keys?hl=ja)

Verwendung der API

key=""#Geben Sie den API-Schlüssel ein
#API-URL
url = 'https://language.googleapis.com/v1/documents:analyzeSentiment?key=' + key

def sentimental(text):
    header = {'Content-Type': 'application/json'}
    body = {
        "document": {
            "type": "PLAIN_TEXT",
            "language": "JA",#Geben Sie die Sprache an
            "content": text
        },
        "encodingType": "UTF8"
    }

    #Erhalten Sie das Ergebnis im JSON-Format.
    response = requests.post(url, headers=header, json=body).json()
    #Punktzahl zurückgeben
    return response["documentSentiment"]["score"]

Tragen Sie die Punktzahl in die Punkteliste ein

score_list=[]
for word in tqdm(wordlist):
    score_list.append(sentimental(word))
import pandas as pd
df = pd.DataFrame()
df["word"]=title_list
df["date"]=date_list
df["score"]=score_list

Datenrahmen in Pickle-Datei speichern

import pickle
with open('sentimental_df.pickle', 'wb') as web:
    pickle.dump(df , web)

Daten extrahieren

import pickle
with open('sentimental_df.pickle', 'rb') as web:
    df = pickle.load(web)
    print (df)

Referenz

Verwenden Sie API-Schlüssel (https://cloud.google.com/docs/authentication/api-keys?hl=ja) Emotionsanalyse durch Aufrufen der Google Natural Language API mit Python Natural Language Verbesserung der Entwicklungseffizienz! Verwendung von Pickle mit Python [Für Anfänger] URL-Codierung / -Decodierung in Python (urllib.parse.quote, unquote) Schnellstart: API-Einstellungen für natürliche Sprache (https://cloud.google.com/natural-language/docs/setup?hl=ja)

Recommended Posts

Holen Sie sich den Titel der Yahoo News und analysieren Sie die Stimmung
Holen Sie sich den Titel und das Lieferdatum von Yahoo! News in Python
[Python] Holen Sie sich die Hauptthemen von Yahoo News
[Django 2.2] Sortieren und erhalten Sie den Wert des Beziehungsziels
Lassen Sie uns die Emotionen von Tweet mit Chainer (1.) analysieren.
Holen Sie sich die Anzahl der Ziffern
Ich möchte Betriebsinformationen über die Yahoo-Route erhalten
Die Geschichte von Python und die Geschichte von NaN
Holen Sie sich die Anzahl der Ansichten von Qiita
Hinweis: Holen Sie sich das erste und letzte Element von Python OrderedDict zerstörungsfrei
[Python] So erhalten Sie den ersten und den letzten Tag des Monats
Ruft die Attribute eines Objekts ab
[Python] Ruft das Aktualisierungsdatum eines Nachrichtenartikels aus HTML ab
Holen Sie sich das erste Element von Queryset
Rufen Sie den Wert des Dropdown-Menüs mit Python und Selen ab und legen Sie ihn fest
Holen Sie sich die Anzahl der Youtube-Abonnenten
Ich habe versucht, die statistischen Daten der neuen Corona mit Python abzurufen und zu analysieren: Daten der Johns Hopkins University
Lesen Sie das Diagrammbild mit OpenCV und ermitteln Sie die Koordinaten des Endpunkts des Diagramms
Ich habe versucht, die Beschleunigung von Python durch Cython zu verifizieren und zu analysieren
Ich möchte die Gefühle von Menschen analysieren, die sich treffen und zittern wollen
Erhalten Sie Nachrichten von jedem der drei großen Mobilfunkunternehmen mithilfe von Django und der Nachrichten-API
Holen Sie sich Artikelbesuche und Likes mit Qiita API + Python
Holen Sie sich den Songtitel aus dem Titel des von Ihnen gesungenen Videos
Erhalten und schätzen Sie die Form des Kopfes mit Dlib und OpenCV mit Python
Dies und das der Einschlussnotation.
Holen Sie sich die Spaltenliste und Datenliste von CASTable
Überprüfen Sie das Konzept und die Terminologie der Regression
Erhalten Sie Parlamentsprotokolle über API
Die Geschichte, deep3d auszuprobieren und zu verlieren
Ermitteln Sie den Wert der mittleren Schicht von NN
Holen Sie sich den letzten Tag des angegebenen Monats
[Python] Ruft den Zeichencode der Datei ab
Holen Sie sich den Dateinamen des Verzeichnisses (glob)
Holen Sie sich die Adresse von Längen- und Breitengrad
[PowerShell] Lesen Sie die Zeichenfolge
[Python] Ich habe einen Web-Scraping-Code erstellt, der automatisch den Nachrichtentitel und die URL von Nihon Keizai Shimbun erfasst.
Holen Sie sich mit Python den Aktienkurs eines japanischen Unternehmens und erstellen Sie eine Grafik
Holen Sie sich das letzte Element des Arrays, indem Sie Zeichenfolgen in Python und PHP aufteilen
Holen Sie sich den Inhalt von Git Diff aus Python
Über das Verhalten von copy, deepcopy und numpy.copy
Zusammenfassung der Unterschiede zwischen PHP und Python
Vollständiges Verständnis der Konzepte von Bellmanford und Dyxtra
[Python] Ruft die Skalenbezeichnung der Figur ab / bearbeitet sie
Holen Sie sich den Aufrufer einer Funktion in Python
Die Antwort von "1/2" unterscheidet sich zwischen Python2 und 3
Organisieren Sie die Bedeutung von Methoden, Klassen und Objekten
Angeben des Bereichs von Ruby- und Python-Arrays
Ändern Sie die Farbe von Fabric-Fehlern und Warnungen
Ruft den Fenstertitel des X-Fenstersystems in Python ab
Holen Sie sich das Modul selbst und fügen Sie Mitglieder dynamisch hinzu
Vergleichen Sie die Geschwindigkeit von Python Append und Map
[Python] Ruft das Datum der letzten Aktualisierung der Website ab
Holen Sie sich nur den Adressteil der Netzwerkkarte (eth0)
Allgemeine Beschreibung des CPUFreq-Kerns und der CPUFreq-Benachrichtigungen
Organisieren Sie die grundlegende Verwendung von Autotools und pkg-config
Ich habe die Varianten von UKR gelesen und implementiert
Berücksichtigung der Stärken und Schwächen von Python
[Python] Holen Sie sich den Tag (Englisch & Japanisch)