我们如何在python中使用状态代码分隔url?

时间:2018-02-12 04:24:16

标签: python

我正在做一个小项目。该项目是在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"

我只能打印响应代码。并成功打印响应代码,如上所述

2 个答案:

答案 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)

enter image description here

答案 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)

如果您无法理解,请告诉我。