[PYTHON] [Empfohlenes Tagging mit maschinellem Lernen # 1] Scraping von Hatena-Blog-Artikeln

Hi, this is Bython Chogo. I have to learn English so I try to post article both English and Japanese :(

Now studying Machine Learning and practicing test scripting with Bayesian filtering. my plan is to estimate tag from web posted contents after learning several posts and tags. Bayesian sample script can be got from Gihyo web page, I'll introduce later, before that today's topic and problem to talk is scraping contents from post.

I found good slide to describe what I'd like to say however I've lost ... orz. Will add it later. Regarding the article, there is two way to scrape body contents. One is using characterized format of each contents. I don't need header or footer date for learning words because it may not useful for identifying the tag.

As a example, I try to scrape only article on Hatena Blog, the article is between the below tags.

    <div class=entry-contents>
    CONTENTS to SCRAPE!
    </div>

this case, I wrote below code.

    soup = BeautifulSoup( html, "lxml" )
    soup.originalEnoding
    tag = soup.find("div", {"class": "entry-content"})
    text = ""
    for con in tag.contents:
        p = re.compile(r'<.*?>')
        text += p.sub('', con.encode('utf8'))

Looks not cool.. but it works :( Also I have to prepare all format I will scrape. This is very tired. So second way is to use learning method! But this looks difficult for me.

To be continued...

Hallo, ich heiße Bürgermeister Umemura. Vielen Dank. Ich schreibe auf Englisch und Japanisch, weil es auch dazu dient, Englisch zu lernen, aber ich hoffe, Sie werden die Hässlichkeit des Englischen im Auge behalten. Ich studiere derzeit maschinelles Lernen und als Teil meiner praktischen Erfahrung baue ich ein automatisches Tagging-System für Artikel mit Basian. Es gibt jedoch viele neue Dinge zu lernen, und die Straße von Senri ist nur einen Schritt entfernt, also mache ich es stetig.

Das heutige Thema ist also die Extraktion von Artikeln, die zum Lernen und Beurteilen verwendet werden, das sogenannte Scraping. Sie finden Artikel an verschiedenen Orten mit heißen Themen. Es gab einen guten Artikel, nach dem ich neulich gesucht habe, den ich aber versehentlich vergessen habe. Ich möchte es später noch einmal spannen. Der Inhalt des Artikels führte also zwei Methoden ein, um nur den Hauptteil des Artikels zu extrahieren, wobei Kopf- und Fußzeile der Zielseite ignoriert wurden.

Eine besteht darin, das Box-Tag des Artikelkörpers entsprechend dem Format der Site zu registrieren und zu extrahieren. Zum Beispiel im Fall von Hatena Blog.

    <div class=entry-contents>
    CONTENTS to SCRAPE!
    </div>

Also habe ich das folgende Skript geschrieben, um den Inhalt von diesem Typen zu extrahieren.

    soup = BeautifulSoup( html, "lxml" )
    soup.originalEnoding
    tag = soup.find("div", {"class": "entry-content"})
    text = ""
    for con in tag.contents:
        p = re.compile(r'<.*?>')
        text += p.sub('', con.encode('utf8'))

Das ist alles, was ich tun kann, weil ich denke, dass der Code wahrscheinlich hässlich ist. Bei dieser Methode müssen Sie also das charakteristische Gehäuse jeder Site registrieren. Wenn dies problematisch ist, verwenden Sie das Erlernen der zweiten Methode. Ich glaube, sie wurde im obigen Artikel geschrieben. Machen. Es ist jedoch ein schwieriger Ort mit der aktuellen Fähigkeit.

Ich möchte dieses Skript serialisieren, bis es abgeschlossen ist.

Recommended Posts

[Empfohlenes Tagging mit maschinellem Lernen # 1] Scraping von Hatena-Blog-Artikeln
[Empfohlenes Tagging beim maschinellen Lernen # 2.5] Änderung des Scraping-Skripts
[Empfohlenes Tagging für maschinelles Lernen # 4] Skript für maschinelles Lernen ...?
Zusammenfassung der empfohlenen APIs für künstliche Intelligenz, maschinelles Lernen und KI
2020 Empfohlen 20 Auswahlmöglichkeiten für einführende Bücher zum maschinellen Lernen
Beginn des maschinellen Lernens (empfohlene Unterrichtsmaterialien / Informationen)
Empfohlene Studienreihenfolge für Anfänger des maschinellen Lernens / Deep Learning
Datensatz für maschinelles Lernen
Japanische Vorverarbeitung für maschinelles Lernen
Grundlagen des maschinellen Lernens (Denkmal)
Leistungsüberprüfung der Datenvorverarbeitung für maschinelles Lernen (numerische Daten) (Teil 2)
Bedeutung von Datensätzen für maschinelles Lernen
Leistungsüberprüfung der Datenvorverarbeitung für maschinelles Lernen (numerische Daten) (Teil 1)
[Python Machine Learning] Empfehlung zur Verwendung von Spyder für Anfänger (Stand August 2020)
Wie nutzt man maschinelles Lernen für die Arbeit? 01_ Den Zweck des maschinellen Lernens verstehen
Memorandum of Scraping & Machine Learning [Entwicklungstechnik] von Python (Kapitel 4)
Memorandum of Scraping & Machine Learning [Entwicklungstechnik] von Python (Kapitel 5)
Maschinelles Lernen ③ Zusammenfassung des Entscheidungsbaums
<Für Anfänger> Python-Bibliothek <Für maschinelles Lernen>
Informationen zum maschinell erlernten Meeting für HRTech
"Scraping & maschinelles Lernen mit Python" Lernnotiz
Wie nutzt man maschinelles Lernen für die Arbeit? 02_AI Entwicklungsprojektübersicht
Ein einführender Leser der Theorie des maschinellen Lernens für IT-Ingenieure versuchte es mit Kaggle
[Beispiel für eine Python-Verbesserung] Was ist die empfohlene Lernseite für Python-Anfänger?
Python-Lernnotiz für maschinelles Lernen von Chainer Kapitel 13 Grundlagen des neuronalen Netzwerks
Python-Lernnotiz für maschinelles Lernen von Chainer bis zum Ende von Kapitel 2
Bestimmen Sie die Authentizität von veröffentlichten Artikeln durch maschinelles Lernen (Google Prediction API).
Algorithmus für maschinelles Lernen (Verallgemeinerung der linearen Regression)
Verstärken Sie Bilder für maschinelles Lernen mit Python
Erste Schritte für Anfänger des maschinellen Lernens (KI)
Eine Einführung in OpenCV für maschinelles Lernen
Warum Python für maschinelles Lernen ausgewählt wird
"Verwendbare" One-Hot-Codierungstechnik für maschinelles Lernen
Algorithmus für maschinelles Lernen (Implementierung einer Klassifizierung mit mehreren Klassen)
[Shakyo] Begegnung mit Python zum maschinellen Lernen
[Python] Webanwendungsdesign für maschinelles Lernen
Eine Einführung in Python für maschinelles Lernen
[Maschinelles Lernen] Liste der häufig verwendeten Pakete
Erstellen einer Entwicklungsumgebung für maschinelles Lernen
[Für Anfänger künstlicher Intelligenz] Maschinelles Lernen / Deep Learning Programming Lernpfad und Nachschlagewerke
Richten Sie die Anzahl der Stichproben zwischen Datenklassen für maschinelles Lernen mit Python aus
Ein Memorandum über Methoden, die häufig beim maschinellen Lernen mit Scikit-Learn (für Anfänger) verwendet werden.