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

回答編集履歴

2

修正

2020/05/17 14:50

投稿

tiitoi
tiitoi

スコア21960

answer CHANGED
@@ -24,14 +24,18 @@
24
24
  import requests
25
25
 
26
26
  with open("sample.txt") as f:
27
+ # read() でテキスト全部を読み込んで、splitlines() で改行で分割してリストとして返す。
27
28
  urls = f.read().splitlines()
28
29
 
29
30
  urls_404 = []
30
31
  for url in urls:
32
+ # requests.get() でアクセスする
31
33
  r = requests.get(url)
32
34
  if r.status_code == 404:
35
+ # 404 ならリストに追加する。
33
36
  urls_404.append(url)
34
37
 
35
38
  with open("404.txt", "w") as f:
39
+ # "\n".join() でリストを改行で結合して1つの文字列にし、write() で書き込む
36
40
  f.write("\n".join(urls_404))
37
41
  ```

1

修正

2020/05/17 14:49

投稿

tiitoi
tiitoi

スコア21960

answer CHANGED
@@ -14,4 +14,24 @@
14
14
  r = requests.get(url)
15
15
  if r.status_code == 404:
16
16
  print(url)
17
+ ```
18
+
19
+ ## 追記
20
+
21
+ 404 の URL をテキストファイルに出力するなら以下になります。
22
+
23
+ ```python
24
+ import requests
25
+
26
+ with open("sample.txt") as f:
27
+ urls = f.read().splitlines()
28
+
29
+ urls_404 = []
30
+ for url in urls:
31
+ r = requests.get(url)
32
+ if r.status_code == 404:
33
+ urls_404.append(url)
34
+
35
+ with open("404.txt", "w") as f:
36
+ f.write("\n".join(urls_404))
17
37
  ```