現状
こちらのコードでローカルに画像を12枚まで保存できます
Python
1import os 2from urllib.request import urlopen 3from selenium import webdriver 4from bs4 import BeautifulSoup 5 6URL = "https://www.instagram.com/rolaofficial/" 7 8driver = webdriver.PhantomJS() 9driver.get(URL) 10html = driver.page_source 11 12bs = BeautifulSoup(html, "html.parser") 13img_urls = [img.get("src") for img in bs.select("._myci9 img")] 14 15# 保存 16img_dir = "images" 17if not os.path.exists(img_dir): 18 os.mkdir(img_dir) 19 20for i,url in enumerate(img_urls): 21 print(url) 22 with urlopen(url) as res: 23 img = res.read() 24 with open(img_dir + "/photo%d.jpg" % (i+1), "wb") as f: 25 f.write(img)
目的
入力したユーザーIDの画像を'すべて'取得したいです
- デフォルトで画像を12枚までしか表示していない
- サイト下部にある「さらに表示」ボタンを押すと無限スクロールが開始する
といったサイトのすべての画像をスクレイピングするにはどうすればよいでしょうか?
もしくは、これはPythonでは実現できないのでしょうか?
ご教授お願いいたします。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。