今回、WEBスクレイピングでつまずきました。
スクレイピング初心者ですので、お手柔らかにご指南頂けますと幸いです。
行いたい内容
WEBページのソースコード内でインラインで記述されている<script></script>の内の特定の変数の中身を取得する。
前提
・インラインで記述されている<script>は複数ある。
・<script>内は、たぶんJAVAで記述されている。
参考にしているURL
https://aga-note.com/python-scraping-not-html/#i
↑これでは、javasqriptのでつまずきました。
スクレイピング初心者ですので、お手柔らかにご指南頂けますと幸いです。
行いたい内容
大枠:WEBページのソースコード内でインラインで記述されている<script></script>の内の特定の変数の中身を取得する。
詳細:以下の”取得したいコード元”内の
["https://hogehoge.com/hogehoge.jpg","https://hogehoge.com/hogehoge1.jpg","https://hogehoge.com/hogehoge2.jpg","https://hogehoge.com/hogehoge3.jpg","https://hogehoge.com/hogehoge4.jpg","https://hogehoge.com/hogehoge5.jpg"],
を
https://hogehoge.com/hogehoge.jpg
https://hogehoge.com/hogehoge1.jpg
https://hogehoge.com/hogehoge2.jpg
https://hogehoge.com/hogehoge3.jpg
https://hogehoge.com/hogehoge4.jpg
https://hogehoge.com/hogehoge5.jpg
として取得したい
前提
・インラインで記述されている<script>は複数ある。
・該当箇所の<script>内は、たぶんJAVAで記述されている。
・<script>内には他にも変数がある。
参考にしているURL
https://aga-note.com/python-scraping-not-html/#i
↑しかし、これではjavasqriptでもちゃんと挙動しなかったので、ほとんど無視してます。
取得したいコード 元
html
1<script> 2 window.runParams = { 3 data: { 4 "imageModule":{"features":{},"i18nMap":{},"id":0,"imagePathList":["https://hogehoge.com/hogehoge.jpg","https://hogehoge.com/hogehoge1.jpg","https://hogehoge.com/hogehoge2.jpg","https://hogehoge.com/hogehoge3.jpg","https://hogehoge.com/hogehoge4.jpg","https://hogehoge.com/hogehoge5.jpg"],"name":"ImageModule","summImagePathList":["https://hogehoge.com/hogehoge.jpg_50x50.jpg","https://hogehoge.com/hogehoge1.jpg_50x50.jpg","https://hogehoge.com/hogehoge2.jpg_50x50.jpg","https://hogehoge.com/hogehoge3.jpg_50x50.jpg","https://hogehoge4.com/hogehoge4.jpg_50x50.jpg","https://hogehoge.com/hogehoge5.jpg_50x50.jpg"]}, 5 } 6</script>
###現在試しているコード
Python
1from selenium import webdriver 2from bs4 import BeautifulSoup 3import time 4 5driver = webdriver.Chrome ( executable_path=r'C:\chromedriver.exe' ) 6driver.get ( 7 "https://hogehoge.com/) 8 9html = driver.page_source 10 11bs = BeautifulSoup ( html, "html.parser" ) 12time.sleep ( 5 ) 13 14for script_ele in bs.find_all ( "script" ): 15 16 print (script_ele.prettify ())
です。
for script_ele in bs.find_all ( "script" ):以降をいろいろ試したのですが、
わかりませんでした。
どのようにすれば、取得出来るのでしょうか。。。
回答1件
あなたの回答
tips
プレビュー