Python中的Google URL生成器
我正在尝试将Google URL Builder的功能添加到我的应用程序中 不幸的是,我不能确定确切的结果 我的代码Python中的Google URL生成器,python,string,url,Python,String,Url,我正在尝试将Google URL Builder的功能添加到我的应用程序中 不幸的是,我不能确定确切的结果 我的代码 def buildurl(url): #take out old url builder url = sub('\?utm_source=.*?(&|$)utm_medium=.*?(&|$)|utm_term=.*?(&|$)|utm_content=.*?(&|$)|utm_c
def buildurl(url):
#take out old url builder
url = sub('\?utm_source=.*?(&|$)utm_medium=.*?(&|$)|utm_term=.*?(&|$)|utm_content=.*?(&|$)|utm_campaign=.*?(&|$)','',url)
#build url
header += '?utm_source=' + self.data['source']
header += '&utm_medium=' + self.data['medium']
header += '&utm_campaign=' + self.data['campaign']
#return long url
return(url header + urllib.quote(header)
我的代码返回以下内容:
谷歌的URL生成器返回以下内容:
我可以将#axzz3ANwb5XDu推到后面,但是有没有办法以标准化的方式解析和重建url?您应该签出模块。我已经修改了您的代码,这样它可以删除现有的url生成器部分,但保留查询的任何其他部分
from urlparse import urlparse, urlunparse
def buildurl(url):
#take out old url builder.
url = sub('utm_source=.*?(&|$)utm_medium=.*?(&|$)|utm_term=.*?(&|$)|utm_content=.*?(&|$)|utm_campaign=.*?(&|$)','',url)
#Parse the url.
o = urlparse(url)
#build url query.
query = o.query
query += 'utm_source=' + self.data['source']
query += '&utm_medium=' + self.data['medium']
query += '&utm_campaign=' + self.data['campaign']
#return the url with the corrected query.
return urlunparse(o.scheme, o.netloc, o.path, o.params, query, o.fragment)
应该位于url的末尾。有一种方法可以解析url;它叫:
我会选择Pythons的urllib,它是一个内置库
import urllib.parse
getVars = {'var1': 'some_data', 'var2': 1337}
url = 'http://domain.com/somepage/?'
print(url + urllib.parse.urlencode(getVars))
输出:
http://domain.com/somepage/?var2=1337&var1=some_data
http://domain.com/somepage/?var2=1337&var1=some_data