Aidemy https:// aidemy.net 2020/9/21
Bonjour, c'est Yope! Je suis étudiant, mais je suis intéressé par le domaine de l'IA, donc j'étudie à l'école spécialisée en IA "Aidemy". Je suis très heureux que de nombreuses personnes aient lu l'article de synthèse précédent. Je vous remercie! C'est le premier article de grattage. Ravi de vous rencontrer.
Quoi apprendre cette fois ・ Qu'est-ce que le grattage? ・ Obtenir une page Web (exploration)
-Le scraping est le travail d'extraction automatique des informations nécessaires à partir de __ pages Web __. -En utilisant le grattage, il est possible de collecter une grande quantité de données nécessaires à l'apprentissage automatique. -Cependant, veuillez noter que les données sur le Web peuvent ne pas être les données __ (données ouvertes) __ qui peuvent être utilisées librement.
・ Vérifiez si le grattage est correct. De plus, si une API capable d'acquérir des données est fournie, utilisez-la. -Obtenir une page Web où vous pouvez obtenir des données. Cela s'appelle __crawling __. ・ Obtenez les informations nécessaires sur la page Web. (Grattage)
-__ Commande Wget : Utilisez la commande wget pour télécharger une page Web et utilisez la commande unix ou des expressions régulières pour gratter. __ Simple et facile, mais manque de fonctionnalités. __ - Outil de scraping Web : utilisez des extensions Chrome, des feuilles de calcul et d'autres outils qui permettent le scraping. Veuillez noter que certains points tels que __ les fonctions sont limitées et qu'il peut y avoir des frais . - Programmation: programmez vous-même la fonction de grattage. __ Peut gérer des données complexes. __ Cette fois, je vais gratter de cette façon.
-L'encodage consiste à __ encoder des données dans un autre format __. -Le décodage consiste à renvoyer les données __encodées à leur format d'origine __. -En scraping, les données peuvent être acquises par encodage une fois pour acquérir des données temporaires et décoder les données temporaires.
-Pour obtenir la page Web, utilisez __urlopen ("URL") __ qui peut être utilisé en important le module urllib.request. -Bien que la page Web acquise puisse être référencée avec la méthode read (), notez qu'il ne s'agit pas d'une chaîne de caractères (type str) car elle n'est pas décodée __. (Vérifiez la méthode de décodage dans les sections suivantes)
from urllib.request import urlopen
#Obtenir l'URL Google
url=urlopen("https://www.google.co.jp")
-Le décodage nécessite des informations sur le "code de caractère" utilisé sur la page Web, donc commencez par l'obtenir. Le code de caractère peut être obtenu à l'aide de la méthode __info (). Get_content_charset (failobj = "utf-8") __. -La méthode ci-dessus (failobj = "utf-8") signifie que le code de caractère est automatiquement changé en "utf-8" lorsque le code de caractère (charset) n'est pas spécifié du côté de la page Web. y a-t-il. La page japonaise est essentiellement "utf-8", elle est donc spécifiée comme ceci.
url = urlopen("https://www.google.co.jp")
#Obtenir et afficher le code de caractère
encode = url.info().get_content_charset(failobj="utf-8")
print(encode) #shift_jis
-Une fois que le code de caractère peut être obtenu, décodez-le selon le code de caractère et obtenez la partie
sous forme de code HTML de type str. -Le décodage est effectué avec __url.decode (code de caractère) __. Vous pouvez vérifier le contenu avec read ().#Décodez l'url déjà encodée avec le code de caractère acquis (encoder)
url_decoded = url.decode(encode)
print(url_decoded.read()) #Abréviation (le code HTML est sorti)
-Si vous importez et utilisez le module request, vous pouvez obtenir la page Web plus facilement que urllib. Cependant, lors de l'exécution d'opérations compliquées, le prétraitement devient difficile. Utilisez __requests.get ("URL") __ pour obtenir l'URL, et utilisez encoding pour obtenir le code de caractère et text pour obtenir le code HTML décodé.
import requests
url=requests.get("https://www.google.co.jp")
print(url.encoding) #shift_jis
print(url.text) #Abréviation
-Le scraping consiste à acquérir une page Web et à en extraire les données nécessaires. Dans l'apprentissage automatique, il est utilisé pour collecter les données nécessaires à l'apprentissage. -Lors de l'acquisition (de l'exploration) d'une page Web, la fonction __urlopen () __ du module urllib.request est utilisée, mais elle ne peut pas être traitée comme des données à moins qu'elle ne soit décodée. -Pour décoder, vous devez d'abord obtenir le code de caractère de la page Web et utiliser la méthode __decode () __ en fonction du code de caractère. -Si vous utilisez le module de requêtes, vous pouvez obtenir l'URL avec __requests.get () __, tandis que vous pouvez obtenir le code de caractère avec encoding, et vous pouvez obtenir le code HTML dans l'état décodé avec text. C'est très facile.
Cette fois, c'est fini. Merci d'avoir lu jusqu'ici.
Recommended Posts