回答編集履歴

2

`urllib.parse`に対する誤解を修正したら、回答のつじつまが合わなくなったため再度修正

2022/12/23 20:29

投稿

Demerara
Demerara

スコア397

test CHANGED
@@ -1,14 +1,4 @@
1
- ## 前提
2
- `urllib.parse` がインポートできてません。`imort urllib` ではなく、`import urllib.parse` としてインポートすれば、`urllib.parse.urljoin()` が使えるはずです。
1
+ 1. `urllib.parse` がインポートできてません。`imort urllib` ではなく、`import urllib.parse` としてインポートすれば、`urllib.parse.urljoin()` が使えす。
3
-
4
- ## 本題
5
-
6
- 1. 全ての `a` タグの `href` attribute が画像の URL とは限らない
2
+ 2. 全ての `a` タグの `href` attribute が画像の URL とは限りません
7
- 2. 仮に画像の URL だったとして、`load_url` 変数で定義されている URL の後ろにくっつけて完成した URL が URL として正しいかどうかの確認が必要。
8
- 3. 今回 `load_url` で定義されている URL の画像コンテンツは、`source` タグで指定されてい
3
+ 3. 今回 `load_url` で定義されている URL の画像コンテンツは、`source` タグで指定されていました
9
- 4. そのうえ、今回の場合は画像そのものの URL は単独で成立しているため、parse して join する意味がない。
10
- 5. ファイルが書き込めないのは、Windows のファイルシステムとして不正な文字列が含まれているから。
4
+ 4. ファイルが書き込めないのは、Windows のファイルシステムとして不正な文字列が含まれているからだと思います
11
- 6. それはつまり、ダウウンロード元の URL が正しくないために、ダウウンロードしてきたコンテンツがファイルとして成立していない。
12
-
13
- ## 結論
14
- まずは、HTML とは何ぞや?というところから勉強した方がいいと思います。加えて、ブラウザの開発者ツールを使って目的の要素を探し、値を検証するスキルを身に着けてください。プログラミングもスクレイピングもそれからだと思います。

1

`urllib`の使用目的を誤解していたため修正

2022/12/23 20:04

投稿

Demerara
Demerara

スコア397

test CHANGED
@@ -1,5 +1,5 @@
1
1
  ## 前提
2
- まず、`urllib` の使い方根本的に間違ってまparse したいなら、`from urllib.parse import urlparse` `urlparse(url) として URL を parse します。
2
+ `urllib.parse` がインポートできてません。`imort urllib` ではなく、`import urllib.parse` としてインポートすれば、`urllib.parse.urljoin()` が使えるはずです。
3
3
 
4
4
  ## 本題
5
5