gpt4 book ai didi

python - 解析 URI 参数和关键字值对

转载 作者:太空宇宙 更新时间:2023-11-04 03:55:40 25 4
gpt4 key购买 nike

我想从文本文件中的 URI/L 解析参数和关键字值。还应包括没有值的参数。 Python 很好,但我愿意接受使用其他工具(例如 Perl 或可能也可以解决问题的单行代码)的建议。

示例来源:

www.domain.com/folder/page.php?date=2012-11-20
www2.domain.edu/folder/folder/page.php?l=user&x=0&id=1&page=http%3A//domain.com/page.html&unique=123456&refer=http%3A//domain2.net/results.aspx%3Fq%3Dbob+test+1.21+some%26file%3Dname&text=
www.domain.edu/some/folder/image.php?l=adm&y=5&id=2&page=http%3A//support.domain.com/downloads/index.asp&unique=12345
blog.news.org/news/calendar.php?view=month&date=2011-12-10

示例输出:

date=2012-11-20
l=user
x=0
page=http%3A//domain.com/page.html&unique=123456
refer=http%3A//domain2.net/results.aspx%3Fq%3Dbob+test+1.21+some%26file%3Dname
test=
l=adm
y=5
id=2
page=http%3A//support.domain.com/downloads/index.asp
unique=12345
view=month
date=2011-12-10

最佳答案

您不需要潜入脆弱的正则表达式世界。

urlparse.parse_qsl() 是完成这项工作的工具(urllib.quote() 有助于转义特殊字符):

from urllib import quote
from urlparse import parse_qsl, urlparse


with open('links.txt') as f:
for url in f:
params = parse_qsl(urlparse(url.strip()).query, keep_blank_values=True)
for key, value in params:
print "%s=%s" % (key, quote(value))

打印:

date=2012-11-20
l=user
x=0
id=1
page=http%3A//domain.com/page.html
unique=123456
refer=http%3A//domain2.net/results.aspx%3Fq%3Dbob%20test%201.21%20some%26file%3Dname
text=
l=adm
y=5
id=2
page=http%3A//support.domain.com/downloads/index.asp
unique=12345
view=month
date=2011-12-10

希望对您有所帮助。

关于python - 解析 URI 参数和关键字值对,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18726136/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com