L'autre jour, j'ai terminé le cours sur le sujet apprentissage machine cousera, je veux donc l'essayer en pratique [Idol Master Cinderella Girls](https: // ja) .wikipedia.org / wiki /% E3% 82% A2% E3% 82% A4% E3% 83% 89% E3% 83% AB% E3% 83% 9E% E3% 82% B9% E3% 82% BF% E3% 83% BC_% E3% 82% B7% E3% 83% B3% E3% 83% 87% E3% 83% AC% E3% 83% A9% E3% 82% AC% E3% 83% BC% E3% Essayons de prédire trois types (Cu, Co, Pa) en utilisant des données de profil de 83% AB% E3% 82% BA).
Le premier est l'acquisition de données utilisées pour l'apprentissage. J'ai recherché la version Delemas de Pokemon api, mais elle n'avait pas l'air bien, donc j'utilise généralement le [Delemas wiki](https: // imascg-slstage-). J'ai obtenu les données de wiki.gamerch.com/).
Pour la méthode de grattage, je me suis référé aux pages suivantes. http://qiita.com/Azunyan/items/9b3d16428d2bcc7c9406
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import urllib2
import csv
from bs4 import BeautifulSoup
#URL d'accès
url = "https://imascg-slstage-wiki.gamerch.com/%E3%82%A2%E3%82%A4%E3%83%89%E3%83%AB%E4%B8%80%E8%A6%A7"
#Lire l'URL
html = urllib2.urlopen(url)
#Manipulez le HTML avec une belle soupe
soup = BeautifulSoup(html, "html.parser")
#Obtenez tout le contenu du premier tableau
table = soup.findAll("table")[0]
#Décomposer le tableau ligne par ligne
rows = table.findAll("tr")
csvFile = open("aimasudata.csv", 'wt')
writer = csv.writer(csvFile)
for row in rows:
csvRow = []
for cell in row.findAll(['td', 'th']):
csvRow.append(cell.get_text().encode('utf-8'))
writer.writerow(csvRow)
Comme ça
――Je ne savais pas comment lire la balise html, il a donc fallu beaucoup de temps pour trouver la destination d'acquisition de soup.findAll. Si vous souhaitez obtenir les données de la table pour le moment, spécifiez la table et sachez de quelle table numérique elle se trouve sur la même page. --Si vous utilisez cell.get_text () pour les données japonaises, on vous dira que vous ne pouvez pas utiliser de code ASCII, vous devez donc l'encoder en utf-8.
Recommended Posts