質問編集履歴

3

詳しく

2020/04/01 03:37

投稿

pythonbegginer
pythonbegginer

スコア25

test CHANGED
File without changes
test CHANGED
@@ -160,7 +160,9 @@
160
160
 
161
161
 
162
162
 
163
- #頂いた回答を参考にもう1度コードを書いてみたのですが、エラー出てまいます
163
+ #頂いた回答を参考にもう1度コードを書いてみたのですが、次は1種類しか画像取得できなくなりま
164
+
165
+ エラーは出ません。
164
166
 
165
167
  もう1度見ていただいてもよろしいでしょうか。
166
168
 
@@ -284,6 +286,18 @@
284
286
 
285
287
 
286
288
 
289
+ このコードの結果↓
290
+
291
+ 10499
292
+
293
+ C:\python\img\150x150_square_83722393.jpg
294
+
295
+ 10499
296
+
297
+ C:\python\img\150x150_square_83722393.jpg
298
+
299
+
300
+
287
- 何度もすいません。
301
+ です。何度もすいません。
288
302
 
289
303
  宜しくお願いします。

2

マークダウンの追加

2020/04/01 03:37

投稿

pythonbegginer
pythonbegginer

スコア25

test CHANGED
File without changes
test CHANGED
@@ -160,7 +160,7 @@
160
160
 
161
161
 
162
162
 
163
- 頂いた回答を参考にもう1度コードを書いてみたのですが、エラーが出てしまいます。
163
+ #頂いた回答を参考にもう1度コードを書いてみたのですが、エラーが出てしまいます。
164
164
 
165
165
  もう1度見ていただいてもよろしいでしょうか。
166
166
 

1

頂いた回答を元にもう1度コードを書いたけどエラーが出てします。

2020/04/01 03:36

投稿

pythonbegginer
pythonbegginer

スコア25

test CHANGED
File without changes
test CHANGED
@@ -157,3 +157,133 @@
157
157
  ```
158
158
 
159
159
  宜しくお願いします。
160
+
161
+
162
+
163
+ 頂いた回答を参考にもう1度コードを書いてみたのですが、エラーが出てしまいます。
164
+
165
+ もう1度見ていただいてもよろしいでしょうか。
166
+
167
+
168
+
169
+ ```Python
170
+
171
+ #●画像ファイルをダウンロードするための準備
172
+
173
+ # ①-①.ライブラリをインポート
174
+
175
+ import time
176
+
177
+ import re
178
+
179
+ import requests
180
+
181
+ from pathlib import Path
182
+
183
+ from bs4 import BeautifulSoup
184
+
185
+
186
+
187
+ # 出力フォルダを作成
188
+
189
+ output_folder = Path('C:\python\img')
190
+
191
+ output_folder.mkdir(exist_ok=True)
192
+
193
+
194
+
195
+ # スクレイピングしたいURLを設定
196
+
197
+ import pandas as pd
198
+
199
+
200
+
201
+ csv_file = r"C:\python\tabelog.csv"
202
+
203
+ df = pd.read_csv(csv_file)
204
+
205
+ # NOTE: df.列名.tolist()で指定列をリスト化する
206
+
207
+ url_list = df.URL.tolist()
208
+
209
+
210
+
211
+ # 画像ページのURLを格納するリストを用意
212
+
213
+ linklist = []
214
+
215
+
216
+
217
+ for url in url_list:
218
+
219
+ # ②-①.検索結果ページのhtmlを取得
220
+
221
+ html = requests.get(url).text
222
+
223
+ # ②-②.検索結果ページのオブジェクトを作成
224
+
225
+ soup = BeautifulSoup(html, 'lxml')
226
+
227
+ # ②-③.画像リンクのタグをすべて取得
228
+
229
+ a_list =soup.select('div.rstdtl-menu-lst__img')
230
+
231
+
232
+
233
+ # ②-④.画像リンクを1つずつ取り出す
234
+
235
+ for a in a_list:
236
+
237
+ # ②-⑤.画像ページのURLを抽出
238
+
239
+ link_url = a.img['src']
240
+
241
+ # ②-⑥.画像ページのURLをリストに追加
242
+
243
+ linklist.append(link_url)
244
+
245
+ time.sleep(1.0)
246
+
247
+
248
+
249
+ # ③-⑦.画像ファイルの名前を抽出
250
+
251
+ filename = re.search(".*/(.*png|.*jpg)$",link_url)
252
+
253
+ # ③-⑧.保存先のファイルパスを生成
254
+
255
+ save_path = output_folder.joinpath(filename.group(1))
256
+
257
+ time.sleep(1.0)
258
+
259
+ # ●画像ファイルのURLからデータをダウンロード
260
+
261
+ try:
262
+
263
+ # ④-①.画像ファイルのURLからデータを取得
264
+
265
+ image = requests.get(link_url)
266
+
267
+ # ④-②.保存先のファイルパスにデータを保存
268
+
269
+ open(save_path, 'wb').write(image.content)
270
+
271
+ # ④-③.保存したファイル名を表示
272
+
273
+ print(save_path)
274
+
275
+ time.sleep(1.0)
276
+
277
+ except ValueError:
278
+
279
+ # ④-④.失敗した場合はエラー表示
280
+
281
+ print("ValueError!")
282
+
283
+ ```
284
+
285
+
286
+
287
+ 何度もすいません。
288
+
289
+ 宜しくお願いします。