我有一个大小为10 GB的文件。该文件主要包含URL。我正在尝试获取每个网址的HTTP状态代码,并将其存储到另一个扩展名为.CSV
的文件中
我搜索了一个代码并找到了一个使用Python访问URL状态代码的解决方案:
import requests
request = requests.get('http://www.example.com')
print(request.status_code)
但它需要一个URL。我有一个更大的文件。我不知道如何将文件中的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
所以,我的问题是如何在文件大小为10 GB的情况下更快地完成这项工作。如果在任何编程语言中有任何解决方案,我将很乐意实施
这是URL的示例文件 - 来自我的10 GB文件的一小块:
https://drive.google.com/file/d/0BzQ6rtO2VN95c0YzclhySVZYNDQ/view?usp=sharing
我想将输出存储为CSV格式:
网址,Http状态代码
例如:
http://google.com,200
http://example.com,503
希望这有助于理解我的疑问。
答案 0 :(得分:1)
curl可以做什么,python请求通常可以做,并且做得更好。像curl一样,它也有一个HEAD方法。
import requests
response = requests.head('http://www.example.com')
print(response.status_code)