Python2 urllib2用不了???求解。。。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python2 urllib2用不了???求解。。。相关的知识,希望对你有一定的参考价值。
参考技术A 新手常犯的一个错误, 你的当前代码或者别的代码文件命名成了urllib2,然后pycharm会自作聪明的把你的代码都添加到环境变量,
于是乎, 你import urllib2的时候, 其实会优先查找你自己写的代码里是否有urllib2.py这个文件, 因为你这个文件就是urllib2.py, 所以import的是你自己的这个代码, 没有urlopen也是正常的.
以后给代码命名就尽量避免这个情况, 我一般这样命名: urllib2_.py
这样既能知道这个代码是干嘛的, 又不会错.本回答被提问者和网友采纳
python用urllib将url参数解析成字典
【中文标题】python用urllib将url参数解析成字典【英文标题】:python parsing url parameters into a dictionary with urllib 【发布时间】:2022-01-21 17:13:37 【问题描述】:我正在尝试使用 urllib 获取 url 的参数。
在重温一些 *** Q&A 之后,以下几行有答案:
从 urllib.parse 导入 urlparse
url2='https://batavia.flyingcar.org/dfr/?d=34?f=56#/?dossier=ZT18174#/?dossier2=ZZ274'
parsed = urlparse(url2)
print(parsed)
结果是:
ParseResult(scheme='https', netloc='batavia.internal.epo.org', path='/digital-file-repository/', params='', query='d=34?f=56', fragment='/?dossier=ZT1880174#/?dossier2=ZZ2221880174')
为了获取我可能使用的所有参数:
print(parsed.params)
print(parsed.query)
print(parsed.fragment)
结果:
d=34?f=56
/?dossier=ZT18174#/?dossier2=ZZ274
我的问题: a) 为什么 params 什么都不是? b)是否有任何函数可以以字典的形式获取结果而无需解析字符串? c) 如果片段都用于传递参数,为什么片段与查询的处理方式不同?
【问题讨论】:
【参考方案1】:首先,网址中不应包含多个?
,后续参数以&
分隔。该网址刚刚损坏。
a) 参数始终为空,甚至被记录为“始终为空字符串”
b) 您可以使用urllib.parse.parse_qs()
将查询字符串拆分为一个字典,但如果您在查询字符串中有多个?
,它将不起作用
c) 从片段中解析参数只是一个约定,片段是#
之后的所有内容,并且没有任何标准编码约定。
【讨论】:
以上是关于Python2 urllib2用不了???求解。。。的主要内容,如果未能解决你的问题,请参考以下文章