無法使用簡單的 Python 腳本從包含 URL 的文件中檢索響應標頭

第8節網絡

我正在嘗試使用以下代碼從文件中獲取 URL,然後使用以下腳本打印響應標頭:

import requests

file = open('urls.txt','r')

for url in file:
    print(url)  
    r = requests.head(url)
    print(r.headers["Server"])

我不斷收到此錯誤消息:

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 156, in _new_conn
    conn = connection.create_connection(
  File "/usr/lib/python3/dist-packages/urllib3/util/connection.py", line 61, in create_connection
    for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM):
  File "/usr/lib/python3.8/socket.py", line 918, in getaddrinfo
    for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
socket.gaierror: [Errno -2] Name or service not known

大家可以幫忙嗎?謝謝!

戈恩

行尾字符:

您的文件的urls.txt每一行都有行尾字符。像這樣的東西

www.google.com\n
https://stackoverflow.com/\n
https://github.com/\n
https://www.google.com/

當您讀取文件時,字符\n也會被讀取,這會導致requests.head(url).

刪除行尾字符:

這是一個簡單的修復。要刪除行尾字符,您可以使用 python 字符串方法.strip()刪除換行符以及前導\尾隨空格。

另一種選擇是使用splitlines(). 它將為您處理 EOL 字符。示例代碼是

temp = open(filename,'r').read().splitlines()

Sidenode:with在讀取/寫入文件時始終使用子句,因為一旦您離開範圍,它會自動為您處理文件的關閉。

import requests

with open("urls.txt", "r") as url_file:
    temp = url_file.read().splitlines()
    for url in temp:
        print(url)
        r = requests.head(url)
        print(r.headers["Server"])

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

無法從通過 pip 和 setuptools 安裝的 entry_points 腳本中的 exec() Python 腳本

如何在谷歌腳本中取回當前谷歌表單響應的 URL?

從 Python 腳本創建 CSV 文件

簡單的 NodeJS Express 應用程序無法獲取 /url

如何在spark中將雙大括號從shell腳本傳遞到python腳本?

無法通過請求 html (python) 找到腳本標記內容

從 VS 代碼在 Python IDLE 中運行 python 腳本

無法從傳單地圖中刪除標記。不使用圖層

如何從標籤 api 響應中檢索 png (javascript)

如何使用beautifulsoup從腳本標籤內部抓取數據?

從另一個腳本運行一個 python 腳本,其中命令行參數具有可執行文件

使用 Powershell 腳本從子文件夾複製特定類型的文件

如何使用 Power Shell 腳本從目錄中排除文件夾

如何使用 bash 腳本從 base64 轉換文件播放聲音?

MonoBehaviour 腳本無法從 ScriptableObject 腳本調用函數

如何從使用 bash 腳本運行的 C 程序中獲取變量的值?

使用字符串 Unity 從遊戲對像中獲取腳本

使用bash腳本從字符串中刪除一組特殊字符

無法使用內存中的 MassTransit 從單元測試發送消息

如何在python腳本中將密碼添加到git clone url?

使用 Python 腳本的 ADF 管道中的 Azure 函數

在 bash 腳本中修改 url

Google Apps 腳本:從 Google 表單提交創建 Google 共享驅動器文件夾

如何從 Docker 容器中的 python 腳本連接到 Ubuntu 上的本地 SQL 服務器

使用批處理腳本從多個相同的 .txt 文件中復制某個值

如何使用應用程序腳本從其他工作表匹配和導入數據?

將值從 bash 腳本傳遞到 python 腳本

無法在一列中使用兩個 ListView 獲得簡單的應用程序

無法在 python 中使用 os.remove() 從文件夾中刪除文件