我有一个 URL 列表,我正在尝试解析这些 URL 并在每个 URL 中查找 utm 代码。我首先想找到 utm 之后的唯一值,即 utm_source 并使用这些值中的每一个创建新列。我要寻找的最后一件事是类似
来源: 网站
介质: 邮箱
事件: 事件1
uuid: 999124
语言: zh
现在我有以下内容:
import pandas as pd
email_list = pd.read_csv('/Users/rethompsoniii/Documents/Work-Related/Jeb 2016/email_list_20150804.csv', sep=',', header=0, error_bad_lines=False, index_col=False, dtype='unicode')
url = email_list['SourceUrl']
utms = url.split("utm",1)[1]
print(utms)
但是,utms 线路目前也出现故障。不是在找人给我所有的代码,只是为了给我指明正确的方向。非常感谢
最佳答案
您可以使用 urlparse
图书馆。
首先,您可以使用 urlparse.urlparse()
函数将 url 解析为其相应的组件。
>>> import urlparse
>>> url = "https://website.com/donate?utm_source=site&utm_medium=email&utm_campaign=campaign1&uuid=999124&lang=en"
>>> parsed_url = urlparse.urlparse(url)
>>> parsed_url
ParseResult(scheme='https', netloc='website.com', path='/donate', params='', query='utm_source=site&utm_medium=email&utm_campaign=campaign1&uuid=999124&lang=en', fragment='')
>>> parsed_url.query
'utm_source=site&utm_medium=email&utm_campaign=campaign1&uuid=999124&lang=en'
从解析的 url 中,您可以使用另一个函数 urlparse.parse_qs()
解析查询
>>> parsed_query = urlparse.parse_qs(parsed_url.query)
>>> parsed_query
{'lang': ['en'], 'utm_campaign': ['campaign1'], 'utm_medium': ['email'], 'uuid': ['999124'], 'utm_source': ['site']}
关于python - 试图在 Python 的字符串的特定部分中查找所有唯一值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31832801/