teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

3

詳しく

2020/04/01 03:37

投稿

pythonbegginer
pythonbegginer

スコア25

title CHANGED
File without changes
body CHANGED
@@ -79,7 +79,8 @@
79
79
  ```
80
80
  宜しくお願いします。
81
81
 
82
- #頂いた回答を参考にもう1度コードを書いてみたのですが、エラーが出てしまいます
82
+ #頂いた回答を参考にもう1度コードを書いてみたのですが、次は1種類か画像が取得できなくなりした
83
+ エラーは出ません。
83
84
  もう1度見ていただいてもよろしいでしょうか。
84
85
 
85
86
  ```Python
@@ -141,5 +142,11 @@
141
142
  print("ValueError!")
142
143
  ```
143
144
 
145
+ このコードの結果↓
146
+ 10499
147
+ C:\python\img\150x150_square_83722393.jpg
148
+ 10499
149
+ C:\python\img\150x150_square_83722393.jpg
150
+
144
- 何度もすいません。
151
+ です。何度もすいません。
145
152
  宜しくお願いします。

2

マークダウンの追加

2020/04/01 03:37

投稿

pythonbegginer
pythonbegginer

スコア25

title CHANGED
File without changes
body CHANGED
@@ -79,7 +79,7 @@
79
79
  ```
80
80
  宜しくお願いします。
81
81
 
82
- 頂いた回答を参考にもう1度コードを書いてみたのですが、エラーが出てしまいます。
82
+ #頂いた回答を参考にもう1度コードを書いてみたのですが、エラーが出てしまいます。
83
83
  もう1度見ていただいてもよろしいでしょうか。
84
84
 
85
85
  ```Python

1

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

2020/04/01 03:36

投稿

pythonbegginer
pythonbegginer

スコア25

title CHANGED
File without changes
body CHANGED
@@ -77,4 +77,69 @@
77
77
  # ④-④.失敗した場合はエラー表示
78
78
  print("ValueError!")
79
79
  ```
80
+ 宜しくお願いします。
81
+
82
+ 頂いた回答を参考にもう1度コードを書いてみたのですが、エラーが出てしまいます。
83
+ もう1度見ていただいてもよろしいでしょうか。
84
+
85
+ ```Python
86
+ #●画像ファイルをダウンロードするための準備
87
+ # ①-①.ライブラリをインポート
88
+ import time
89
+ import re
90
+ import requests
91
+ from pathlib import Path
92
+ from bs4 import BeautifulSoup
93
+
94
+ # 出力フォルダを作成
95
+ output_folder = Path('C:\python\img')
96
+ output_folder.mkdir(exist_ok=True)
97
+
98
+ # スクレイピングしたいURLを設定
99
+ import pandas as pd
100
+
101
+ csv_file = r"C:\python\tabelog.csv"
102
+ df = pd.read_csv(csv_file)
103
+ # NOTE: df.列名.tolist()で指定列をリスト化する
104
+ url_list = df.URL.tolist()
105
+
106
+ # 画像ページのURLを格納するリストを用意
107
+ linklist = []
108
+
109
+ for url in url_list:
110
+ # ②-①.検索結果ページのhtmlを取得
111
+ html = requests.get(url).text
112
+ # ②-②.検索結果ページのオブジェクトを作成
113
+ soup = BeautifulSoup(html, 'lxml')
114
+ # ②-③.画像リンクのタグをすべて取得
115
+ a_list =soup.select('div.rstdtl-menu-lst__img')
116
+
117
+ # ②-④.画像リンクを1つずつ取り出す
118
+ for a in a_list:
119
+ # ②-⑤.画像ページのURLを抽出
120
+ link_url = a.img['src']
121
+ # ②-⑥.画像ページのURLをリストに追加
122
+ linklist.append(link_url)
123
+ time.sleep(1.0)
124
+
125
+ # ③-⑦.画像ファイルの名前を抽出
126
+ filename = re.search(".*/(.*png|.*jpg)$",link_url)
127
+ # ③-⑧.保存先のファイルパスを生成
128
+ save_path = output_folder.joinpath(filename.group(1))
129
+ time.sleep(1.0)
130
+ # ●画像ファイルのURLからデータをダウンロード
131
+ try:
132
+ # ④-①.画像ファイルのURLからデータを取得
133
+ image = requests.get(link_url)
134
+ # ④-②.保存先のファイルパスにデータを保存
135
+ open(save_path, 'wb').write(image.content)
136
+ # ④-③.保存したファイル名を表示
137
+ print(save_path)
138
+ time.sleep(1.0)
139
+ except ValueError:
140
+ # ④-④.失敗した場合はエラー表示
141
+ print("ValueError!")
142
+ ```
143
+
144
+ 何度もすいません。
80
145
  宜しくお願いします。