下記コードで画像を取得するが697ある画像全部ではなく20画像のみしか出来ない。
python
1import requests 2import os 3import time 4from requests.compat import urljoin 5from bs4 import BeautifulSoup 6from PIL import Image 7from io import StringIO 8from io import BytesIO 9 10url = "https://www.google.co.jp/search?q=%E5%BA%83%E7%80%AC%E3%81%99%E3%81%9A&rlz=\ 11 1C1CHZL_jaJP719JP719&source=lnms&tbm=isch&sa=X&ved=0ahUKEwim2r2yqbPbAhWBGJQKHWjbAxkQ_AUICigB&biw=1745&bih=863#imgrc=" 12response = requests.get(url) 13response.encoding = response.apparent_encoding 14bs = BeautifulSoup(response.content, 'html.parser') 15div_simple_rows = bs.select('a img') 16pictures = [] 17for box_img in div_simple_rows: 18 src = box_img['src'] 19 src_zettai = urljoin(url, src) 20 pictures.append(src_zettai) 21for i, pic in enumerate(pictures): 22 pic_url = requests.get(pic) 23 pic_url_content = pic_url.content 24 filepath = os.path.join('hirosesuzu', str(i)+'.jpg') 25 with open(filepath, 'wb') as f: 26 f.write(pic_url_content) 27 time.sleep(1) 28
調べてみたこと
googleサイトの検証で20番目までと21番目以降に "id" のあるなしの違いがある。
疑問に思うこと
タグの指定(a img)では "id" のある20番目までしか効かないので
21番目以降は違うタグ指定をすればすべて取得できるのか?それとも出来ないのか?
やりたいこと
cssセレクタで20番目以降の全ての画像を取得したい。
そのためにどのような操作をしてやればよいのか?
ご助言願えると有難く思います。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/06/03 00:16