質問編集履歴
14
ごじ
test
CHANGED
File without changes
|
test
CHANGED
@@ -96,7 +96,10 @@
|
|
96
96
|
```
|
97
97
|
```ここに言語を入力
|
98
98
|
|
99
|
+
|
99
|
-
Message=not
|
100
|
+
Message='NoneType' object has no attribute 'split'
|
101
|
+
|
102
|
+
|
100
103
|
|
101
104
|
|
102
105
|
```
|
13
goji
test
CHANGED
File without changes
|
test
CHANGED
@@ -83,7 +83,7 @@
|
|
83
83
|
out_folder = Path("Download")
|
84
84
|
out_folder.mkdir(exist_ok = True)
|
85
85
|
|
86
|
-
for element in soup.find_all("
|
86
|
+
for element in soup.find_all("source"):
|
87
87
|
src = element.get("data-src")
|
88
88
|
header, encoded = src.split(",",1)
|
89
89
|
decode_data=b64decode(encoded)
|
@@ -117,7 +117,7 @@
|
|
117
117
|
out_folder = Path("Download")
|
118
118
|
out_folder.mkdir(exist_ok = True)
|
119
119
|
|
120
|
-
for element in soup.find_all("
|
120
|
+
for element in soup.find_all("source"):
|
121
121
|
src = element.get("data-src")
|
122
122
|
image_url=urllib.parse.urljoin(load_url, src)
|
123
123
|
imgdata = requests.get(image_url)
|
12
ごじ
test
CHANGED
File without changes
|
test
CHANGED
@@ -100,6 +100,37 @@
|
|
100
100
|
|
101
101
|
|
102
102
|
```
|
103
|
+
```python
|
104
|
+
|
105
|
+
import requests
|
106
|
+
from bs4 import BeautifulSoup
|
107
|
+
from pathlib import Path
|
108
|
+
import urllib
|
109
|
+
import time
|
110
|
+
from base64 import b64decode
|
111
|
+
|
112
|
+
|
113
|
+
load_url = "https://www.elle.com/jp/decor/decor-interior-design/a40735952/karimoku-commons-tokyo-mobile-house22-07/"
|
114
|
+
html = requests.get(load_url)
|
115
|
+
soup=BeautifulSoup(html.content, "html.parser")
|
116
|
+
|
117
|
+
out_folder = Path("Download")
|
118
|
+
out_folder.mkdir(exist_ok = True)
|
119
|
+
|
120
|
+
for element in soup.find_all("picture"):
|
121
|
+
src = element.get("data-src")
|
122
|
+
image_url=urllib.parse.urljoin(load_url, src)
|
123
|
+
imgdata = requests.get(image_url)
|
124
|
+
filename = "test_0818"
|
125
|
+
out_path = out_folder.joinpath(filename)
|
126
|
+
with open(filename, mode = "wb") as f:
|
127
|
+
f.write(imgdata.content)
|
128
|
+
time.sleep(1)
|
129
|
+
|
130
|
+
```
|
131
|
+
画像として表示されません
|
132
|
+
|
133
|
+
|
103
134
|
### 補足情報(FW/ツールのバージョンなど)
|
104
135
|
|
105
136
|
下記を参考にしました。
|
11
訂正
test
CHANGED
File without changes
|
test
CHANGED
@@ -63,10 +63,43 @@
|
|
63
63
|
```
|
64
64
|
|
65
65
|
Incorrect padding
|
66
|
+
```
|
67
|
+
|
68
|
+
### 試したこと
|
69
|
+
```python
|
70
|
+
|
71
|
+
import requests
|
72
|
+
from bs4 import BeautifulSoup
|
73
|
+
from pathlib import Path
|
74
|
+
import urllib
|
75
|
+
import time
|
76
|
+
from base64 import b64decode
|
77
|
+
|
78
|
+
|
79
|
+
load_url = "https://www.elle.com/jp/decor/decor-interior-design/a40735952/karimoku-commons-tokyo-mobile-house22-07/"
|
80
|
+
html = requests.get(load_url)
|
81
|
+
soup=BeautifulSoup(html.content, "html.parser")
|
82
|
+
|
83
|
+
out_folder = Path("Download")
|
84
|
+
out_folder.mkdir(exist_ok = True)
|
85
|
+
|
86
|
+
for element in soup.find_all("img"):
|
87
|
+
src = element.get("data-src")
|
88
|
+
header, encoded = src.split(",",1)
|
89
|
+
decode_data=b64decode(encoded)
|
90
|
+
filename = "test_0818"
|
91
|
+
out_path = out_folder.joinpath(filename)
|
92
|
+
with open(filename, mode = "wb") as f:
|
93
|
+
f.write(decode_data)
|
94
|
+
time.sleep(1)
|
95
|
+
|
96
|
+
```
|
97
|
+
```ここに言語を入力
|
98
|
+
|
99
|
+
Message=not enough values to unpack (expected 2, got 1)
|
66
100
|
|
67
101
|
|
68
102
|
```
|
69
|
-
|
70
103
|
### 補足情報(FW/ツールのバージョンなど)
|
71
104
|
|
72
105
|
下記を参考にしました。
|
10
teisei
test
CHANGED
File without changes
|
test
CHANGED
@@ -69,7 +69,8 @@
|
|
69
69
|
|
70
70
|
### 補足情報(FW/ツールのバージョンなど)
|
71
71
|
|
72
|
-
下記
|
72
|
+
下記を参考にしました。
|
73
|
+
森巧尚, Python 2年生 スクレイピングのしくみ
|
73
74
|
https://stackoverflow.com/questions/33870538/how-to-parse-data-uri-in-python
|
74
75
|
https://www.lisz-works.com/entry/python-base64-incorrect-padding
|
75
76
|
|
9
訂正
test
CHANGED
File without changes
|
test
CHANGED
@@ -11,10 +11,10 @@
|
|
11
11
|
|
12
12
|
昨日、Data URLをdecodeする方法を教えていただき、それを含めたコードでまたエラーが出ました。
|
13
13
|
|
14
|
-
画像のスクレイピングが難しく
|
14
|
+
プログラミングの勉強を始めて日が浅く、Webの知識が少ないためか、画像のスクレイピングが難しく感じます。
|
15
|
-
よろしくお願いいたします。
|
16
15
|
|
17
|
-
|
16
|
+
自己解決できなかったので、
|
17
|
+
ご教授いただけましたら幸いです。
|
18
18
|
|
19
19
|
### 該当のソースコード
|
20
20
|
|
8
syuusei
test
CHANGED
File without changes
|
test
CHANGED
@@ -18,43 +18,7 @@
|
|
18
18
|
|
19
19
|
### 該当のソースコード
|
20
20
|
|
21
|
-
```Python
|
22
21
|
|
23
|
-
import requests
|
24
|
-
from bs4 import BeautifulSoup
|
25
|
-
from pathlib import Path
|
26
|
-
import urllib
|
27
|
-
import time
|
28
|
-
from base64 import b64decode
|
29
|
-
|
30
|
-
|
31
|
-
load_url = "https://www.elle.com/jp/decor/decor-interior-design/a40735952/karimoku-commons-tokyo-mobile-house22-07/"
|
32
|
-
html = requests.get(load_url)
|
33
|
-
soup=BeautifulSoup(html.content, "html.parser")
|
34
|
-
|
35
|
-
out_folder = Path("Download")
|
36
|
-
out_folder.mkdir(exist_ok = True)
|
37
|
-
|
38
|
-
for element in soup.find_all("img"):
|
39
|
-
src = element.get("src")
|
40
|
-
header, encoded = src.split(",",1)
|
41
|
-
decode_data=b64decode(encoded)
|
42
|
-
filename = src.split("/")[-1]
|
43
|
-
out_path = out_folder.joinpath(filename)
|
44
|
-
with open(filename, mode = "wb") as f:
|
45
|
-
f.write(decode_data)
|
46
|
-
time.sleep(1)
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
```
|
51
|
-
|
52
|
-
### 発生している問題・エラーメッセージ
|
53
|
-
|
54
|
-
```
|
55
|
-
'NoneType' object has no attribute 'split'
|
56
|
-
```
|
57
|
-
### 試したこと
|
58
22
|
Data URLの文字数をカウントし、4で割り切れないことがわかったので
|
59
23
|
encoded=base64.urlsafe_b64decode (src + '=' * (-len(src) % 4))
|
60
24
|
を入れたのですが、同じエラーが出ました。
|
7
訂正
test
CHANGED
@@ -1 +1 @@
|
|
1
|
-
スクレイピングで画像の収集,
|
1
|
+
スクレイピングで画像の収集, Incorrect paddingのエラーの直し方
|
test
CHANGED
File without changes
|
6
teisei
test
CHANGED
File without changes
|
test
CHANGED
@@ -59,7 +59,8 @@
|
|
59
59
|
encoded=base64.urlsafe_b64decode (src + '=' * (-len(src) % 4))
|
60
60
|
を入れたのですが、同じエラーが出ました。
|
61
61
|
上のコードを入れたことで、文字数が78から、56に減りました。
|
62
|
+
(src + '=' * (-len(src) % 4)の部分で、==を2つ入れて、80にしたかったのですが...
|
62
|
-
|
63
|
+
お忙しい中恐縮ですが、
|
63
64
|
教えていただけると幸いです。
|
64
65
|
|
65
66
|
|
5
teisei
test
CHANGED
File without changes
|
test
CHANGED
@@ -58,6 +58,9 @@
|
|
58
58
|
Data URLの文字数をカウントし、4で割り切れないことがわかったので
|
59
59
|
encoded=base64.urlsafe_b64decode (src + '=' * (-len(src) % 4))
|
60
60
|
を入れたのですが、同じエラーが出ました。
|
61
|
+
上のコードを入れたことで、文字数が78から、56に減りました。
|
62
|
+
==を2つ入れて、80にしたかったのですが...お忙しい中恐縮ですが、
|
63
|
+
教えていただけると幸いです。
|
61
64
|
|
62
65
|
|
63
66
|
```Python
|
4
teisei
test
CHANGED
File without changes
|
test
CHANGED
@@ -55,9 +55,14 @@
|
|
55
55
|
'NoneType' object has no attribute 'split'
|
56
56
|
```
|
57
57
|
### 試したこと
|
58
|
+
Data URLの文字数をカウントし、4で割り切れないことがわかったので
|
59
|
+
encoded=base64.urlsafe_b64decode (src + '=' * (-len(src) % 4))
|
60
|
+
を入れたのですが、同じエラーが出ました。
|
61
|
+
|
58
62
|
|
59
63
|
```Python
|
60
64
|
|
65
|
+
import base64
|
61
66
|
import requests
|
62
67
|
from bs4 import BeautifulSoup
|
63
68
|
from pathlib import Path
|
@@ -75,14 +80,13 @@
|
|
75
80
|
|
76
81
|
for element in soup.find_all("img"):
|
77
82
|
src = element.get("src")
|
78
|
-
encoded=
|
83
|
+
encoded=base64.urlsafe_b64decode (src + '=' * (-len(src) % 4))
|
79
84
|
decode_data=b64decode(encoded)
|
80
85
|
filename = src.split("/")[-1]
|
81
86
|
out_path = out_folder.joinpath(filename)
|
82
87
|
with open(filename, mode = "wb") as f:
|
83
88
|
f.write(decode_data)
|
84
89
|
time.sleep(1)
|
85
|
-
|
86
90
|
|
87
91
|
|
88
92
|
```
|
3
syuusei
test
CHANGED
File without changes
|
test
CHANGED
@@ -90,11 +90,7 @@
|
|
90
90
|
エラー内容
|
91
91
|
```
|
92
92
|
|
93
|
-
Message='NoneType' object has no attribute 'split'
|
94
|
-
Source=C:\Users\Michiko\Desktop\0812\scr_karimoku\scr_karimoku\scr_karimoku.py
|
95
|
-
|
93
|
+
Incorrect padding
|
96
|
-
File "C:\Users\Michiko\Desktop\0812\scr_karimoku\scr_karimoku\scr_karimoku.py", line 19, in <module>
|
97
|
-
header, encoded = src.split(",",1)
|
98
94
|
|
99
95
|
|
100
96
|
```
|
2
修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -11,7 +11,7 @@
|
|
11
11
|
|
12
12
|
昨日、Data URLをdecodeする方法を教えていただき、それを含めたコードでまたエラーが出ました。
|
13
13
|
|
14
|
-
画像のスクレイピングが
|
14
|
+
画像のスクレイピングが難しく、ご教授いただけましたら幸いです。
|
15
15
|
よろしくお願いいたします。
|
16
16
|
|
17
17
|
|
1
変更
test
CHANGED
File without changes
|
test
CHANGED
@@ -54,9 +54,54 @@
|
|
54
54
|
```
|
55
55
|
'NoneType' object has no attribute 'split'
|
56
56
|
```
|
57
|
+
### 試したこと
|
58
|
+
|
59
|
+
```Python
|
60
|
+
|
61
|
+
import requests
|
62
|
+
from bs4 import BeautifulSoup
|
63
|
+
from pathlib import Path
|
64
|
+
import urllib
|
65
|
+
import time
|
66
|
+
from base64 import b64decode
|
67
|
+
|
68
|
+
|
69
|
+
load_url = "https://www.elle.com/jp/decor/decor-interior-design/a40735952/karimoku-commons-tokyo-mobile-house22-07/"
|
70
|
+
html = requests.get(load_url)
|
71
|
+
soup=BeautifulSoup(html.content, "html.parser")
|
72
|
+
|
73
|
+
out_folder = Path("Download")
|
74
|
+
out_folder.mkdir(exist_ok = True)
|
75
|
+
|
76
|
+
for element in soup.find_all("img"):
|
77
|
+
src = element.get("src")
|
78
|
+
encoded= base64.urlsafe_b64decode(src)
|
79
|
+
decode_data=b64decode(encoded)
|
80
|
+
filename = src.split("/")[-1]
|
81
|
+
out_path = out_folder.joinpath(filename)
|
82
|
+
with open(filename, mode = "wb") as f:
|
83
|
+
f.write(decode_data)
|
84
|
+
time.sleep(1)
|
85
|
+
|
86
|
+
|
87
|
+
|
88
|
+
```
|
89
|
+
|
90
|
+
エラー内容
|
91
|
+
```
|
92
|
+
|
93
|
+
Message='NoneType' object has no attribute 'split'
|
94
|
+
Source=C:\Users\Michiko\Desktop\0812\scr_karimoku\scr_karimoku\scr_karimoku.py
|
95
|
+
スタック トレース:
|
96
|
+
File "C:\Users\Michiko\Desktop\0812\scr_karimoku\scr_karimoku\scr_karimoku.py", line 19, in <module>
|
97
|
+
header, encoded = src.split(",",1)
|
98
|
+
|
99
|
+
|
100
|
+
```
|
57
101
|
|
58
102
|
### 補足情報(FW/ツールのバージョンなど)
|
59
103
|
|
60
104
|
下記サイトを参考にしました。
|
61
105
|
https://stackoverflow.com/questions/33870538/how-to-parse-data-uri-in-python
|
106
|
+
https://www.lisz-works.com/entry/python-base64-incorrect-padding
|
62
107
|
|