回答編集履歴

1

回答の訂正

2020/04/01 05:03

投稿

nto
nto

スコア1438

answer CHANGED
@@ -21,4 +21,42 @@
21
21
  for img in img_list:
22
22
  link_url = img['src']
23
23
  ```
24
- 繰り返し処理(for文)の中で、更に繰り返し処理を行う事で実現に近づけるかと思います。
24
+ 繰り返し処理(for文)の中で、更に繰り返し処理を行う事で実現に近づけるかと思います。
25
+
26
+
27
+ ### 追記
28
+ ```Python
29
+ import time
30
+ import re
31
+ import requests
32
+ from pathlib import Path
33
+ from bs4 import BeautifulSoup
34
+ from tqdm import tqdm
35
+
36
+ output_folder = Path('C:\python\img')
37
+
38
+ url_list = ['https://tabelog.com/tokyo/A1303/A130302/13219514/dtlmenu/',
39
+ 'https://tabelog.com/tokyo/A1303/A130302/13212082/dtlmenu/']
40
+
41
+ for url in url_list:
42
+ html = requests.get(url).text
43
+ soup = BeautifulSoup(html, 'lxml')
44
+ a_list =soup.select('div.rstdtl-menu-lst__img')
45
+ shopname = soup.find(class_='display-name').find_next('a').text
46
+
47
+ for a in tqdm(a_list):
48
+ link_url = a.img['src']
49
+ filename = re.search(".*/(.*png|.*jpg)$",link_url)
50
+ save_path = output_folder.joinpath(shopname + filename.group(1))
51
+
52
+ try:
53
+ image = requests.get(link_url)
54
+ open(save_path, 'wb').write(image.content)
55
+ except ValueError:
56
+ print('valueerror')
57
+ time.sleep(2.0)
58
+ time.sleep(2.0)
59
+ ```
60
+ あくまでもサンプルコードとなります。
61
+ また質問者様の追記コードではお店毎にフォルダ分け等はしていない様で、どの画像がどのお店のものであるかの区別がつかない為、ファイル名にお店の名前をつける様な形のコードと勝手にさせていただきましたが不要であれば17行目、22行目のjoinpath部を削除してください。
62
+ あとtqdmも勝手に装飾してしまいました。installしてみて試してください。