seleniumによるスクレイピングで次ページへのリンクがなくなるまで繰り返し処理をしたい
seleniumでスクレイピングの練習をしていて
⓵最初のページのページ内の表を取得してpandasに追加
⓶次のページの表記『NEXT』がある場合は次ページをクリックしてページ内の表を取得してpandasに追加
⓷次のページの表記『NEXT』がない場合は処理を終了
発生している問題・エラーメッセージ
上記の繰り返し文をwhileで書こうとしているのですが 色々試して上手くいきません。 現在のコードでは以下のエラーが発生してしまいます。 TypeError: catching classes that do not inherit from BaseException is not allowed
該当のソースコード
python
1 2import selenium 3import time 4from selenium import webdriver 5browser = webdriver.Chrome() 6browser.get('https://www.suishinkikou.or.jp/areaShopList.php?search_word=&ken=156&area=52&syll=&city=%B7%B4%BB%B3%BB%D4&page=1') 7time.sleep(5) 8import pandas as pd 9dfs = pd.DataFrame(columns=['ホール名', '所在地']) 10 11#表・htmlのtable取得 12url = browser.current_url 13data = pd.read_html(url, header = 0) 14data[1] 15df = pd.DataFrame(data[1]) 16dfs = dfs.append(df, ignore_index=True) 17dfs 18 19nextpage = browser.find_element_by_xpath('//*[@id="rightcontent"]/section/article[2]/div/p/a[3]') 20while True: 21 try: 22 nextpage.click() 23 time.sleep(5) 24 url = browser.current_url 25 data = pd.read_html(url, header = 0) 26 data[1] 27 df = pd.DataFrame(data[1]) 28 dfs = dfs.append(df, ignore_index=True) 29 dfs 30 except nextpage == False: 31 break 32dfs
試したこと
ここに問題に対して試したことを記載してください。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答2件
あなたの回答
tips
プレビュー