如何拆分这样的网址(来自django对象选择):
[<PathsOfDomain: www.somesite.com/>, <PathsOfDomain: somesite.com/prof.php?pID=589>, <PathsOfDomain: www.somesite.com/some/path/here/paramid=6, <PathsOfDomain: www.somesite.com/prof.php?pID=317>, <PathsOfDomain: www.somesite.com/prof.php?pID=523>]
我有代码:
if self.path_object is not None:
dictpath = {}
for path in self.path_object:
print path #debugging only
self.params = path.pathToScan.split("?")[1].split("&")
out = list(map(lambda v: v.split("=")[0] +"=" + self.fuzz_vectors, self.params))
dictpath[path] = out
print dictpath
我收到错误:
self.params = path.pathToScan.split("?")[1].split("&")
IndexError: list index out of range
我在这里做错了什么?
谢谢!
答案 0 :(得分:2)
self.params = path.split("?")[1].split("&")
应该是
self.params = path.path.split("?")[1].split("&")
path
是PathsOfDomain对象,但您需要path.path
,其中包含路径的实际字符串。
您还应该查看urlparse模块,其中包含有助于解析URL的代码。您可以在此处使用它来简化代码。