我正在做一个小项目。该项目是在python中,我现在陷入了一个问题,即
我有一个网址列表,其响应代码如200,300,400,403。
好的,让我们说得更清楚
http://aa.domain.com 200
http://bb.domain.com 302
http://cc.domain.com 400
http://dd.domain.com 403
http://ee.domain.com 403
现在我想要的是我想用他们的状态代码分隔URL。
类似于“制作400和403个网址的单独列表”。
我怎么能用python做到这一点?作为一个新手,我不能。你能吗?
编辑: - 我试过这个
try:
req = requests.get(xxx) #xxx is a list of subdomains
responsecode = xxx , req.status_code, "\n"
print responsecode
except requests.exceptions.RequestException as e:
print "Not full fill request"
我只能打印响应代码。并成功打印响应代码,如上所述
答案 0 :(得分:0)
您可以使用拆分功能将请求拆分为两个(请求代码和URL)&插入字典直到请求列表的大小。
我还附上了输出的截图。
dictionary = {}
request = ["http://aa.domain.com 200", "http://bb.domain.com 302", "http://cc.domain.com 400", "http://dd.domain.com 403", "http://ee.domain.com 403"]
for i in range(0, len(request)) :
word = request[i].split(" ")[1];
dictionary[word] = request[i].split(" ")[0];
print(dictionary)
答案 1 :(得分:-1)
对于你问我们可以通过在python中使用字典来获得所需输出的查询。查看下面的代码段:
#include <string>
#include <vector>
#include <iostream>
#include <type_traits>
template <int>
struct First {};
template <int>
struct Second {};
// there are a few of these
struct FirstImpl : First<5> {};
struct SecondImpl : Second<7> {};
template <template <int> class ... Cnt, int... Ints>
void function (float f, Cnt<Ints> & ... args)
{
(std::cout << ... << std::is_same_v<Cnt<Ints>, First<Ints>>);
}
int main()
{
FirstImpl firstImpl;
FirstImpl otherFirstImpl;
SecondImpl secondImpl;
SecondImpl otherSecondImpl;
function(9.5f, firstImpl, otherFirstImpl, secondImpl, otherSecondImpl);
}
它提供所需的输出:
dict = {}
req = ["http://aa.domain.com 200", "http://bb.domain.com 302", "http://cc.domain.com 400", "http://dd.domain.com 403", "http://ee.domain.com 403"]
for i in range(0, len(req)) :
term = req[i].split(" ")
while True :
if term[1] not in dict.keys():
dict.setdefault(term[1], [])
dict[term[1]].append(term[0])
break
else :
dict[term[1]].append(term[0])
break
print(dict)
如果您无法理解,请告诉我。