如何更快地查找HTTP状态?

2024-05-01 22:00:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个10GB大小的文件。此文件主要包含URL。我正在尝试获取每个URL的HTTP状态码,并将它们存储到另一个扩展名为.CSV的文件中。
我搜索了一个代码,找到了一个使用Python访问URL状态代码的解决方案:

import requests
request = requests.get('http://www.example.com')
print(request.status_code)

但它只有一个网址。我有一个更大的文件。我不知道如何将文件中的url输入到这个命令中。甚至如何以.CSV格式存储输出
即使它不是更快。我正在寻找一个更快的解决方案,它将为10 GB文件提供更快的结果。
我还尝试了Ubuntu命令:

xargs -n1 -P 10 curl -o /dev/null --silent --head --write-out '%{url_effective},%{http_code}\n' < Input_File.txt > output.CSV

但它也不是多线程的。它一次只取一行,然后存储到CSV
所以,我的问题是,对于10gb的文件大小,如何使其工作得更快。如果在任何编程语言中有任何解决方案,我将很乐意实施。
下面是URL的示例文件-我的10 GB文件中的一小块:
https://drive.google.com/file/d/0BzQ6rtO2VN95c0YzclhySVZYNDQ/view?usp=sharing
我想将输出存储在CSV中为:

URL,Http Status code

例如:

http://google.com,200  
http://example.com,503  

希望这有助于理解我的疑问。你知道吗


Tags: 文件csv代码命令comhttpurlexample
1条回答
网友
1楼 · 发布于 2024-05-01 22:00:42

curl可以做什么,python请求通常可以做什么,而且做得更好。和curl一样,它也有一个HEAD方法。你知道吗

import requests
response = requests.head('http://www.example.com')
print(response.status_code)

相关问题 更多 >