前提・実現したいこと
例として、itownページの下のサイトで、
「さらに表示」ボタンを押すと、新しく表示されるリストを含めて全てのリンク先を配列に格納したいと考えています。
https://itp.ne.jp/topic/?topic=225%3B772&sort=01&sbmap=false
そのままスクレイピングすると、最初に表示されている22件分(サミー・ライフサポートさん)までしかリンク先を取得できません。
発生している問題・エラーメッセージ
エラーメッセージではありませんが、最初の22件分(サミー・ライフサポートさん)までしか取得できない部分を全て取得したいです。
['https://itp.ne.jp/info/321826553400000899/shop/', 'https://itp.ne.jp/info/292958506300000899/shop/', 'https://itp.ne.jp/info/310555414400000899/shop/', 'https://itp.ne.jp/info/012151151156940470/shop/', 'https://itp.ne.jp/info/136664945118461560/shop/', 'https://itp.ne.jp/info/293692985300000899/shop/', 'https://itp.ne.jp/info/016915226174361490/shop/', 'https://itp.ne.jp/info/202266608000000899/shop/', 'https://itp.ne.jp/info/216509600300000899/shop/', 'https://itp.ne.jp/info/067103140124781810/shop/', 'https://itp.ne.jp/info/275920764300000899/shop/', 'https://itp.ne.jp/info/306301353132971740/shop/', 'https://itp.ne.jp/info/015911530000000899/shop/', 'https://itp.ne.jp/info/047692354109550930/shop/', 'https://itp.ne.jp/info/048419425000000899/shop/', 'https://itp.ne.jp/info/151550387000000899/shop/', 'https://itp.ne.jp/info/168682458119331410/shop/', 'https://itp.ne.jp/info/187441619300000899/shop/', 'https://itp.ne.jp/info/331181824400000899/shop/', 'https://itp.ne.jp/info/342634523400000899/shop/', 'https://itp.ne.jp/info/432938560500000899/shop/', 'https://itp.ne.jp/info/510000000000045049/shop/']
該当のソースコード
python
1from bs4 import BeautifulSoup 2import requests 3 4url_list = [] 5hpurl_list = [] 6adress_list = [] 7url = "https://itp.ne.jp/topic/?topic=225%3B772&sort=01&sbmap=false" 8 9res = requests.get(url) 10res.raise_for_status() 11soup = BeautifulSoup(res.text, "html.parser") 12for i in soup.find_all("a", class_='m-article-card__header__title__link'): 13 elem = i.get("href") + "shop/" 14 # url_listに格納 15 url_list.append(elem) 16 17print(url_list)
試したこと
seleniumuで全ての「さらに表示」ボタンをクリックして取得する方法も考えましたが、もっと良いやり方があるのではないかと思い、質問させていただきました。
ご教授、お願いいたします。

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。