J'ai essayé de gratter la météo Yahoo (édition Python)

Introduction

C'est proche de mon propre mémo, mais je l'ai essayé alors j'ai écrit un article. À l'origine, j'ai fait beaucoup de recherches pour faire de la signalisation de tarte aux râpes, Je n'avais pas les informations que je voulais de manière précise, alors j'ai fini par étudier uniquement la méthode de grattage et j'ai réussi à le faire moi-même. (Je n'étais pas un utilisateur de Python ou une personne dans la zone Web, alors j'ai lutté pendant un moment ...) Yahoo a une API météo, mais je ne l'ai pas utilisé car je ne connais que la quantité de précipitations.

Édition C # https://qiita.com/MonoShobel/items/3ae0c051d2aadba698a4 Il y a.

Références J'ai fait référence à l'article suivant lors du scraping avec Python. [Gratter avec python et laisser Google Home parler des prévisions météorologiques](https://xn--u9jwc776tibf.net/?p=1494) [Introduction à la pratique du grattage Web Python](https://qiita.com/Azunyan1111/items/9b3d16428d2bcc7c9406)

Il y a quelques bonnes et mauvaises explications sur le grattage lui-même, vous devriez donc le lire.

Au fait, c'est la météo de Yahoo, mais peut-être que le grattage n'est pas interdit. Yahoo Finance a été explicitement interdit, mais je n'ai trouvé aucune mention d'interdiction de la météo. Gardez juste la modération. Même si vous grattez régulièrement, je pense que l'accès toutes les heures ou 30 minutes est suffisant pour la météo.

Que faire J'ai beaucoup d'informations que je veux obtenir, mais pour le moment, j'ai la météo pour aujourd'hui à Tokyo. Obtenez la météo d'aujourd'hui et de demain dans l'image ci-dessous. 天気.png

Code Vous pouvez obtenir la météo à Tokyo aujourd'hui et demain en exécutant le code. (J'ai écrit et retiré diverses choses avec Visual Code.) Surtout dans les commentaires, vous trouverez ce que vous faites. C'est presque une source de copier-coller, mais le point d'intérêt est que la partie texte est acquise par select_one. J'ai essayé de l'obtenir automatiquement avec Google Chrome, mais cela n'a pas fonctionné, alors j'ai cherché à la main et cela a fonctionné.

tenki.py


import urllib3
from bs4 import BeautifulSoup

#URL d'accès
url = 'https://weather.yahoo.co.jp/weather/jp/13/4410.html'

#URL d'accès La valeur de retour est une instance contenant le résultat de l'accès et du HTML.
http = urllib3.PoolManager()
instance = http.request('GET', url)
#Extrayez le code HTML de l'instance et analysez-le pour l'utiliser avec Beautiful Soup
soup = BeautifulSoup(instance.data, 'html.parser')

#Obtenez le texte météo avec le sélecteur CSS.
#La météo d'aujourd'hui
tenki_today = soup.select_one('#main > div.forecastCity > table > tr > td > div > p.pict')
print ("Quel temps fait-il aujourd'hui"+tenki_today.text)

#La météo de demain
tenki_tomorrow = soup.select_one('#main > div.forecastCity > table > tr > td + td > div > p.pict')
print ("La météo de demain"+tenki_tomorrow.text)

#Attendez l'entrée pour que l'écran ne disparaisse pas en un instant
input()

Ci-dessous, le résultat de l'exécution 実行画面.png

À la fin Je pense que vous pouvez faire diverses choses sur la base de ce code. Je pense que je vais l'ajouter à cet article ou l'écrire dans l'article de Razpai Signage, par exemple en l'acquérir régulièrement. Je pense également qu'il n'a pas pu être exécuté en raison de problèmes environnementaux, alors j'ajouterai cela plus tard.

Recommended Posts

J'ai essayé de gratter la météo Yahoo (édition Python)
J'ai essayé de gratter avec Python
J'ai essayé de gratter avec du python
J'ai essayé webScraping avec python.
J'ai essayé de gratter
J'ai essayé Python> autopep8
J'ai essayé Python> décorateur
J'ai essayé L-Chika avec Razpai 4 (édition Python)
J'ai essayé fp-growth avec python
Scraping prévisions météorologiques avec python
J'ai essayé gRPC avec Python
J'ai essayé de [gratter] des images de mode et des phrases de texte avec Python.
[Python scraping] J'ai essayé la recherche Google Top10 en utilisant Beautifulsoup et sélénium
J'ai essayé de toucher Python (installation)
J'ai essayé d'utiliser Thonny (Python / IDE)
J'ai essayé Grumpy (allez exécuter Python).
J'ai essayé d'exécuter prolog avec python 3.8.2.
J'ai essayé la notification de ligne en Python
J'ai essayé la communication SMTP avec Python
Obtenez des informations météorologiques avec Python et le grattage
J'ai essayé de gratter le classement du calendrier de l'avent Qiita avec Python
J'ai essayé de résoudre l'édition du débutant du livre des fourmis avec python
J'ai essayé de récupérer les données de conversation d'ASKfm
J'ai essayé de résumer la gestion des exceptions Python
J'ai essayé d'implémenter PLSA en Python
J'ai essayé d'implémenter la permutation en Python
Livre Wrangle x Python Je l'ai essayé [2]
Entrée standard Python3 que j'ai essayé de résumer
J'ai essayé d'utiliser l'optimisation bayésienne de Python
J'ai essayé d'utiliser l'API UnityCloudBuild de Python
J'ai essayé d'implémenter ADALINE en Python
J'ai essayé un langage fonctionnel avec Python
J'ai essayé la récurrence avec Python ② (séquence de nombres Fibonatch)
J'ai essayé d'implémenter PPO en Python
Python: j'ai essayé le problème du voyageur de commerce
Livre Wrangle x Python Je l'ai essayé [1]
Mayungo's Python Learning Episode 8: J'ai essayé l'entrée
[Python] J'ai essayé de calculer TF-IDF régulièrement
J'ai essayé de toucher Python (syntaxe de base)
J'ai essayé de résumer les modules d'Ansible - l'édition Linux
J'ai essayé le framework de test Python Tornado
# J'ai essayé quelque chose comme Vlookup avec Python # 2
J'ai essayé de faire un signal avec Raspeye 4 (édition Python)
Mémo de raclage Python
J'ai essayé Web Scraping pour analyser les paroles.
J'ai essayé des centaines de millions de SQLite avec python
Scraping Python get_ranker_categories
[Python] J'ai essayé de remplacer le nom de la fonction par le nom de la fonction
Grattage avec Python
J'ai essayé l'analyse par grappes de la carte météo
J'ai fait une prévision météo de type bot avec Python.
vprof - J'ai essayé d'utiliser le profileur pour Python
J'ai essayé de "différencier" l'image avec Python + OpenCV
Grattage avec Python
J'ai essayé d'obtenir une image en grattant