[PYTHON] [Balisage recommandé avec le machine learning # 1] Scraping d'articles de blog Hatena

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...

Bonjour, je m'appelle le maire Umemura. Je vous remercie. J'écris en anglais et en japonais car cela sert aussi à apprendre l'anglais, mais j'espère que vous garderez un œil sur la laideur de l'anglais. J'étudie actuellement l'apprentissage automatique et dans le cadre de mon expérience pratique, je crée un système de marquage automatique des articles utilisant Basian. Cependant, il y a beaucoup de nouvelles choses à apprendre en le faisant, et la route de Senri n'est qu'à un pas, donc je le fais régulièrement.

Ainsi, le sujet d'aujourd'hui est l'extraction d'articles utilisés pour l'apprentissage et le jugement, ce qu'on appelle le grattage. Vous pouvez trouver des articles dans divers endroits avec des thèmes chauds. Il y avait un bon article que j'ai cherché l'autre jour, mais j'ai oublié par inadvertance. Je voudrais le retendre plus tard. Ainsi, le contenu de l'article a introduit deux méthodes pour extraire uniquement le corps de l'article, en ignorant l'en-tête et le pied de page de la page cible.

La première consiste à enregistrer et à extraire la balise box du corps de l'article de manière régulière en fonction du format du site. Par exemple, dans le cas de Hatena Blog.

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

Donc, j'ai écrit le script suivant pour extraire le contenu de ce gars.

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

C'est tout ce que je peux faire, pensant que le code est probablement moche. Donc, avec cette méthode, vous devez enregistrer l'enceinte caractéristique de chaque site, et si cela est gênant, utilisez l'apprentissage de la deuxième méthode, j'ai l'impression que cela a été écrit dans l'article ci-dessus. Faire. Cependant, c'est un endroit difficile avec la capacité actuelle.

Je voudrais sérialiser ce script jusqu'à ce qu'il soit terminé.

Recommended Posts

[Balisage recommandé avec le machine learning # 1] Scraping d'articles de blog Hatena
[Balisage recommandé dans le machine learning # 2.5] Modification du script de scraping
[Balisage recommandé pour l'apprentissage automatique # 4] Script d'apprentissage automatique ...?
Résumé des API recommandées pour l'intelligence artificielle, l'apprentissage automatique et l'IA
20 sélections recommandées en 2020 de livres d'introduction à l'apprentissage automatique
Début de l'apprentissage automatique (matériel didactique / informations recommandés)
Ordre d'étude recommandé pour les débutants en apprentissage automatique / apprentissage en profondeur
Ensemble de données pour l'apprentissage automatique
Prétraitement japonais pour l'apprentissage automatique
Bases de l'apprentissage automatique (mémoire)
Vérification des performances du prétraitement des données pour l'apprentissage automatique (données numériques) (partie 2)
Importance des ensembles de données d'apprentissage automatique
Vérification des performances du prétraitement des données pour l'apprentissage automatique (données numériques) (partie 1)
[Apprentissage automatique Python] Recommandation d'utilisation de Spyder pour les débutants (à partir d'août 2020)
Comment utiliser l'apprentissage automatique pour le travail? 01_ Comprendre l'objectif de l'apprentissage automatique
Mémorandum of scraping & machine learning [technique de développement] par Python (chapitre 4)
Mémorandum of scraping & machine learning [technique de développement] par Python (chapitre 5)
Apprentissage automatique ③ Résumé de l'arbre de décision
<Pour les débutants> bibliothèque python <Pour l'apprentissage automatique>
Informations sur les réunions d'apprentissage automatique pour HRTech
Mémo d'apprentissage "Scraping & Machine Learning avec Python"
Comment utiliser l'apprentissage automatique pour le travail? 02_Aperçu du projet de développement AI
Un lecteur d'introduction à la théorie de l'apprentissage automatique pour les ingénieurs informatiques a essayé Kaggle
[Exemple d'amélioration de Python] Quel est le site d'apprentissage recommandé pour les débutants en Python?
Mémo d'apprentissage Python pour l'apprentissage automatique par Chainer Chapitre 13 Bases du réseau neuronal
Mémo d'apprentissage Python pour l'apprentissage automatique par Chainer jusqu'à la fin du chapitre 2
Déterminez l'authenticité des articles publiés par machine learning (API Google Prediction).
Algorithme d'apprentissage automatique (généralisation de la régression linéaire)
Amplifiez les images pour l'apprentissage automatique avec Python
Premiers pas pour les débutants en apprentissage automatique (IA)
Une introduction à OpenCV pour l'apprentissage automatique
Pourquoi Python est choisi pour l'apprentissage automatique
Méthode d'encodage à chaud "utilisable" pour l'apprentissage automatique
Algorithme d'apprentissage automatique (implémentation de la classification multi-classes)
[Shakyo] Rencontre avec Python pour l'apprentissage automatique
[Python] Conception d'applications Web pour l'apprentissage automatique
Une introduction à Python pour l'apprentissage automatique
[Apprentissage automatique] Liste des packages fréquemment utilisés
Créer un environnement de développement pour l'apprentissage automatique
[Pour les débutants en intelligence artificielle] Parcours d'apprentissage et de référence en apprentissage automatique / programmation en profondeur
Alignez le nombre d'échantillons entre les classes de données pour l'apprentissage automatique avec Python
Un mémorandum de méthode souvent utilisé dans l'apprentissage automatique utilisant scikit-learn (pour les débutants)