在redi之后获取URL的一部分

2024-04-30 05:15:42 发布

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

好吧,基本上我想做的是:

URL http://anidb.net/perl-bin/animedb.pl?show=animelist&adb.search="Cowboy Bebop"&do.search=search重定向到http://anidb.net/perl-bin/animedb.pl?show=anime&aid=23

假设我想在一个XML文件中写下ID(在那个例子中是23)。你知道吗


Tags: httpurlsearchnetbinshowdoperl
3条回答

与实际编码问题无关。但是您可能希望使用AniDB search data而不是查询他们的网站。你知道吗

urlopen的结果具有提供重定向信息的方法geturl。然后可以使用正则表达式解析它。你知道吗

import urllib2
import re

url = 'http://anidb.net/perl-bin/animedb.pl?show=animelist&adb.search=%22Cowboy%20Bebop%22&do.search=search'
headers = {"User-agent": "Mozilla/5.0"}
request = urllib2.Request(url, None, headers)
result = urllib2.urlopen(request)
r =  re.search("aid=(\d+)", result.geturl())
print r.group(1)

请执行以下操作:

var uri = window.location.href
var params = uri.split("?")[1].split("&");

args = {};
for(var i=0; i<params.length; i++) {
    p = params[i].split("=");
    args[p[0]] = p[1];
}
alert(args['aid']);

[编辑:Saw python标记]

因此,在python中,如果您有一个URL,您可以非常类似地拆分它:

uri = "http://anidb.net/perl-bin/animedb.pl?show=anime&aid=23"
params = uri.split('?')[1].split('&')

args={}
for kv in params:
     p = kv.split('=')
     args[p[0]] = p[1]

perl脚本似乎又在发挥作用,但我不知道python在哪里发挥作用。你知道吗

相关问题 更多 >