Seleniumを使用して新聞記事のpagenationのある箇所をクリックして
続きを取得したいと考えています。
例えば、この新聞の社説の場合、
https://www.yomiuri.co.jp/editorial/
"さらに読み込む"という箇所があり、そこを何度もクリックして記事を閲覧するのですが
これをseleniumで実行してスクレイピングしたいと考えています。
下記のようなコードを考えていましたが、クリック出来ません。
from selenium import webdriver from selenium.webdriver.chrome.options import Options import time import chromedriver_binary from bs4 import BeautifulSoup import re import urllib.request import urllib3 urllib3.disable_warnings() import requests chrome_options = Options() chrome_options.add_argument("--headless") driver = webdriver.Chrome( executable_path='drivers/chromedriver', options=chrome_options) driver.get('https://www.yomiuri.co.jp/editorial/') while True: try: driver.find_element_by_class_name('c-more-btn').find_element_by_link_text("さらに読み込む").click() time.sleep(3) soup = BeautifulSoup(requests.get(driver.current_url).content,'html.parser') for a in soup.find_all(class_="uni-news-editorial-jp"): for b in a.find_all("a"): #見出しとリンク print(b.text, b.get("href")) except: driver.close() driver.close()
質問
・続きを読む、のクリックの仕方をご教授いただきたいです。
・このウェブサイトはクリックしてもURLが変化しません。その場合でも、forループで次々にクリックして
新たに出現した見出しとリンクをスクレイピングすることは可能なのでしょうか。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/09/18 21:31
2019/09/20 16:12
2019/09/23 17:18
2019/09/24 16:48
2019/10/01 19:04 編集
2019/10/01 00:28
2019/10/04 04:52