如何在python中更改参数值?

2024-05-23 23:47:25 发布

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

注意:它没有修复url。意味着不可能始终看到此url。我想要的代码,为所有网址工作。在

例如,http://januapp.com/demo/search.php?search=aaa
http://januapp.com/demo/search.php?other=aaa

现在我想把它改成

http://januapp.com/demo/search.php?search=bbbhttp://januapp.com/demo/search.php?other=bbb

我不知道我该怎么做?在

我试过了

import optparse
import requests
import urlparse


parser = optparse.OptionParser() 

parser.add_option("-t","--Host", dest="Target", help="Please provide the target", default="true") 

options, args = parser.parse_args() 

url = options.Target 

xss = [] 
xss.append("bbb")  

try:

    url2 =urlparse.urlparse(url)    
    print url2
    url3 = urlparse.parse_qs(url2.query)
    parametervalue =  [key for key, key in url3.iteritems()] #[['aaa']]
    parsed =  parametervalue.append(xss[0])
    print parsed
    finalurl = urljoin(url, parsed)
    print finalurl





except Exception as e:
    print e

所以当我通过这个

^{pr2}$

错误发生在命令的下面

ParseResult(scheme='http', netloc='januapp.com', path='/demo/search.php', params='', query='search=aaa', fragment='')
None
name 'urljoin' is not defined

请参阅None

这就是问题所在

我用的是Python2.7。在

非常感谢。希望你明白问题所在。在


Tags: importcomhttpparserurlsearchdemophp
2条回答

你可以用这种方法试试。在

url = 'http://januapp.com/demo/search.php?search=aaa'

# First get all your query params
arr = url.split('?')
base_url = arr[0] # This is your base url i.e. 'http://januapp.com/demo/search.php'
params = arr[1] # here are your query params ['search=aaa']

# Now seprate out all the query parameters and their values
arr2 = params.split("=") # This will give you somrthing like this : ['search', 'aaa'], the the value will be next to the key

# This is a dictonary to hold the key value pairs
param_value_dict = {} # {'search': 'aaa'}
for i, str in enumerate(arr2):
    if i % 2 == 0:
        param_value_dict[str] = arr2[i + 1]



# now if you want to chnage the value of search from 'aaa' to 'bbb', then just change it in the dictonary
param_value_dict['search'] = 'bbb'

# now form the new url from the dictonary
new_url = base_url + '?'
for param_name, param_value in param_value_dict.items():
    new_url = new_url + param_name + "=" + param_value + "&"

# remove the extra '&'
new_url = new_url[:len(new_url) - 1]
print(new_url)

关于:

ext = "bbb"

a = "http://januapp.com/demo/search.php?search="

print a+ext

其中ext是您要搜索的内容,a是链接,只需将它们相加即可。在

或者您可以这样替换值:

^{pr2}$

使用正则表达式:

import re

ext = "bbb"

a = "http://januapp.com/demo/search.php?search=aaa"

b=re.compile(r".+search=")

print re.search(b,a).group()+ext

相关问题 更多 >