###実現したいこと
スクレイピング初心者です。
現在、PythonとSeleniumを用いて、スクロールするたびにコンテンツを読み込む無限スクロール形式のサイトから、料理の材料や栄養などのデータをスクレイピングしようとしています。
URL : https://www.yummly.com/recipes
発生している問題
スクロールをしないとコンテンツを読み込まないため、webdriverを用いて下記の2種類の方法でスクロールを実行しようとしたのですが、スクロールができません。
Python
1from selenium import webdriver 2import os 3 4driver_path = os.path.expanduser('~/chromedriver') 5driver = webdriver.Chrome(driver_path) 6url = 'https://www.yummly.com/recipes' 7 8driver.get(url)
試してみた方法を以下に記述します。
Python
1driver.execute_script('window.scrollTo(0, document.body.scrollHeight);')
document.body.scrollHeightだけでなく、100、500などの定数も試したのですがなんの反応もありません。
また、以下の方法も試しましたが、こちらも同様なんの反応もありませんでした。
Python
1from selenium.webdriver.common.keys import Keys 2 3elm = driver.find_element_by_tag_name('body') 4elm.send_keys(Keys.END)
以上です。
なぜスクロールできないのかが分からないのですが、
まずは上記以外の方法でスクロールする方法、もしくはスクロール以外の方法でコンテンツの情報(料理情報のページへ遷移するためのURL)を取得できる方法があれば教えていただきたいです。
よろしくお願いいたします。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/12/23 07:52