问题标签 [urlparse]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - Python中是否有预定义的URL类?
我正在python-modules、Django、Zope 或 Python 中的任何地方寻找类似java.net.URL的东西。我希望它最好是从语义上的原因,因为有关程序的分析结果表明 URL 在其中起着至关重要的作用。结果是这样的 URL 类在该程序中也将有很大的实际用途。
我当然可以自己写这样的课,但我想在开始重新发明轮子之前先看看周围。
我确实看过urllib2和urlparse。基本上具有我需要的urlparse
功能,但它没有将其封装到像java.net.URL
. 关于我对我的程序的分析,它是颠倒的。
urlparse
我还查看了类的源代码SplitResult
和ParseResult
. 它们具有一些基本功能,可用于子类化。但是我必须将其余的 urlparse 函数重写为子类方法。
我还发现了 mxURL - Python 的灵活 URL 数据类型。它非常接近我真正想要的。只是对于我的目的来说,这似乎有点过头了。
谁能建议另一种选择?我应该继续重新发明轮子吗?
我的解决方案:
为了获得我的 URL 类,我基本上做了两件事:
- 继承自
urlparse.ResultMixin
。 - 定义仅调用
urlparse.urlparse()
并将结果转换为 URL 实例参数的函数。
python - PendingDeprecationWarning:cgi.parse_qsl 已弃用,请改用 urlparse.parse_qsl
警告信息:
好吧,警告很清楚,但如果假设我使用的是 SQLAlchemy 的最新版本(0.7,稳定版和开发版)和 python 2.7,我不知道为什么会发生这种情况。
或者这是一个错误?
非常感谢。
python - 必要时如何将“http://”协议添加到 url?
我需要解析一个 URL。我目前正在使用 urlparse.urlparse() 和 urlparse.urlsplit()。
问题是当它不存在方案时,我无法从 URL 获取“netloc”(主机)。我的意思是,如果我有以下网址:
www.amazon.com/Programming-Python-Mark-Lutz/dp/0596158106/ref=sr_1_1?ie=UTF8&qid=1308060974&sr=8-1
我无法获取 netloc:www.amazon.com
根据python文档:
遵循 RFC 1808 中的语法规范,urlparse 只有当它被 '//' 正确引入时才能识别它。否则,输入被假定为相对 URL,因此以路径组件开始。
所以,这是故意的。但是,我仍然不知道如何从该 URL 获取 netloc。
我想我可以检查该方案是否存在,如果不存在,则添加它,然后解析它。但是这个解决方案似乎并不是很好。
你有更好的主意吗?
编辑: 感谢所有的答案。但是,我不能做 Corey 和其他人提出的“startswith”事情。因为,如果我得到一个带有其他协议/方案的 URL,我会把它搞砸。看:
如果我得到这个网址:
使用建议的代码,我将在开头添加“http://”并将其搞砸。
我找到的解决方案
需要注意的一点:
我先做一些验证,如果没有给出方案,我认为它是 http://
python - Python脚本可以在不下载整个页面的情况下查看网页是否存在?
我正在尝试编写一个脚本来测试网页是否存在,如果它在不下载整个页面的情况下进行检查会很好。
这是我的出发点,我已经看到多个示例以相同的方式使用 httplib,但是,我检查的每个站点都只返回 false。
有任何想法吗?
编辑
有人提出这个建议,但他们的帖子被删除了.. urllib2 是否避免下载整个页面?
python - 在python中将url拆分为列表
我目前正在从事一个涉及拆分 url 的项目。我使用了 urlparse 模块来分解 url,所以现在我只使用路径段。
问题是,当我尝试根据分隔符“/”拆分()字符串以分隔目录时,我的列表中最终会出现空字符串。
例如,当我执行以下操作时:
我得到清单:
我不想要这些空字符串。我意识到我可以通过制作一个没有它们的新列表来删除它们,但这似乎很草率。有没有更好的方法来删除空字符串和斜杠?
python - 在 URL 请求中获取值的参数名称
我有一个 Python App Engine 网络应用程序类,我正在使用以下 POST url 访问它:http://localhost:8087/moderate?5649364211118945661=on
如何获取参数名称 - 不是参数的值,5649364211118945661
而是包含该on
值的所有参数名称的列表。
例如,在以下网址中:
我怎样才能提取这个:
非常感谢。
python - urlparse.urlparse 在方案后返回 3 '/' 而不是 2
如果缺少给定的 url 字符串,我想在给定的 url 字符串前面添加“http”方案名称。否则,请不要理会 url,所以我认为 urlparse 是正确的方法。但是,每当没有方案并且我使用 get url 时,我会在方案和域之间得到 /// 而不是 '//'。
我如何转换这个 url,使它看起来像:
python - 给定 Python 中的两个绝对 url,如何构造相对 url
是否有一个内置函数来获取这样的url:../images.html
给定一个这样的基本url:http://www.example.com/faq/index.html
和一个目标url,比如http://www.example.com/images.html
我检查了 urlparse 模块。我想要的是 urljoin() 函数的对应物。
python - 如何使用 Python 从 URL 中删除查询字符串
例子:
删除“ q2 ”后,它将返回:
在这种情况下,有多个“ q2 ”并且都已被删除。