Je voulais analyser le cours de l'action et trouver le stock au moment de l'achat, alors j'ai essayé de gratter le site du journal Nikkei. Il existe différents sites qui proposent des cours d'actions gratuitement, tels que Stock Investment Memo, mais ils sont souvent mis à jour de manière irrégulière. Le site Nikkei Shimbun est mis à jour quotidiennement.
Tout d'abord, lors du scraping d'un site, si vous ne suivez pas diverses règles, ce sera un crime, mais Nikkei Shimbun [robots.txt]( En ce qui concerne https://www.nikkei.com/robots.txt) et les Conditions d'utilisation, il ne semble y avoir aucun problème dans le cadre de l'utilisation personnelle (? )est. (S'il vous plaît laissez-moi savoir si cela ne fonctionne pas)
Si vous utilisez la méthode appelée read_html () du module appelé pandas, cela prendra quelques secondes.
nikkei_scrape.py
import pandas as pd
def get_stock_prices(stock_number):
url = "https://www.nikkei.com/nkd/company/history/dprice/?scode={}&ba=1".format(stock_number)
headers = {
"User-Agent": "User-Informations sur l'agent"
}
dfs = pd.read_html(url)
for i in range(len(dfs)):
if "Date" in str(dfs[i]):
return dfs[i]
return False
Les informations utilisateur-agent sont acceptées si vous copiez et collez la chaîne de caractères qui apparaît lorsque vous ouvrez ce site. Par exemple, dans mon cas, c'était Mozilla / 5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit / 537.36 (KHTML, comme Gecko) Chrome / 81.0.4044.122 Safari / 537.36
. Pour plus d'informations, cliquez ici [https://qiita.com/nightyknite/items/b2590a69f2e0135756dc).
Entrez le code de stock à 4 chiffres dans stock_number
. Par exemple, si vous saisissez 1301, il s'agit de l'URL de la page boursière de la société Gokuyo [https://www.nikkei.com/nkd/company/history/dprice/?scode=1301&ba=1](https: //www.nikkei. Scraping com / nkd / company / history / dprice /? Scode = 1301 & ba = 1). Vous pouvez facilement trouver le code de la marque sur Google, et vous pouvez également le trouver sur le site Web de TSE. Vous pouvez télécharger le fichier EXCEL.
Il peut y avoir un tableau supplémentaire dans la page Web du cours de l'action, donc pour obtenir uniquement le tableau du cours de l'action, je tourne l'instruction for pour ne renvoyer que le tableau qui contient le mot «date».
c'est tout.
Recommended Posts