相关疑难解决方法(0)

如何在Python 2中发送HEAD HTTP请求?

我在这里尝试做的是获取给定URL的标题,以便我可以确定MIME类型.我希望能够看到是否http://somedomain/foo/会返回HTML文档或JPEG图像.因此,我需要弄清楚如何发送HEAD请求,以便我可以读取MIME类型而无需下载内容.有谁知道这样做的简单方法?

python content-type http http-headers python-2.7

110
推荐指数
6
解决办法
7万
查看次数

哪个在Python中最好:urllib2,PycURL还是机械化?

好的,我需要使用Python下载一些网页,并快速调查我的选项.

包含在Python中:

urllib - 在我看来,我应该使用urllib2代替.urllib没有cookie支持,只有HTTP/FTP /本地文件(没有SSL)

urllib2 - 完整的HTTP/FTP客户端,支持最需要的东西,如cookie,不支持所有HTTP动词(只有GET和POST,没有TRACE等)

功能齐全:

机械化 - 可以使用/保存Firefox/IE cookie,采取跟随第二个链接的行动,积极维护(2011年3月发布0.2.5)

PycURL - 支持curl所做的一切(FTP,FTPS,HTTP,HTTPS,GOPHER,TELNET,DICT,FILE和LDAP),坏消息:自2008年9月9日起未更新(7.19.0)

新的可能性:

urllib3 - 支持连接重用/池和文件发布

不推荐使用(也就是使用urllib/urllib2):

httplib - 仅限HTTP/HTTPS(无FTP)

httplib2 - 仅限HTTP/HTTPS(无FTP)

让我印象深刻的第一件事是urllib/urllib2/PycURL/mechanize都是非常成熟的解决方案,效果很好.机械化和PycURL附带了许多Linux发行版(例如Fedora 13)和BSD,所以安装通常不是问题(所以这很好).

urllib2看起来不错,但我想知道为什么PycURL和机械化看起来都非常受欢迎,是否有一些我缺少的东西(即如果我使用urllib2,我会在某个角落将自己画到一个角落?).我真的很喜欢这些事情的优点/缺点的反馈,所以我可以为自己做出最好的选择.

编辑:在urllib2中添加了关于动词支持的注释

python mechanize urllib2 pycurl

72
推荐指数
3
解决办法
3万
查看次数

Python检查网站是否存在

我想检查某个网站是否存在,这就是我正在做的事情:

user_agent = 'Mozilla/20.0.1 (compatible; MSIE 5.5; Windows NT)'
headers = { 'User-Agent':user_agent }
link = "http://www.abc.com"
req = urllib2.Request(link, headers = headers)
page = urllib2.urlopen(req).read() - ERROR 402 generated here!
Run Code Online (Sandbox Code Playgroud)

如果页面不存在(错误402,或其他任何错误),我该怎么做page = ...才能确保我正在阅读的页面退出?

html python urlopen

50
推荐指数
7
解决办法
9万
查看次数

在Python中验证(X)HTML

什么是验证文档是否遵循某些HTML版本(最好是我可以指定)的最佳方法?我希望能够知道故障发生的位置,就像在基于Web的验证器中一样,除了在本机Python应用程序中.

html python validation xhtml

31
推荐指数
6
解决办法
2万
查看次数

如何确定页面是否被重定向

我需要在没有实际下载内容的情况下检查页面是否被重定向.我只需要最终的URL.这样做的最好方法是Python?谢谢!

python http http-headers

5
推荐指数
1
解决办法
2632
查看次数

使用python urllib如何避免非HTML内容

我正在使用urllib(注意不是urllib2)并从用户提供的URL获取页面标题.不幸的是,有时url不是HTML,而是远程站点上的一些大文件或一些非常长的运行进程.

我已经检查了python文档,但是urllib是有限的,看看源代码,我似乎可以改变它,但我不能在服务器上这样做.提到了info()但没有关于如何实现它的例子.

我正在使用FancyURLopener,我猜在urllib2中不可用,我不知道urllib2是否可以解决问题

  1. 有没有办法定义套接字超时?
  2. 更重要的是,我如何仅限制请求到HTML/XHTML内容类型并完全忽略其他任何内容,即我想确保不下载整个内容

我仍然通过urllib源和检查urllib2,但我不是这些工具的专家.

python limits content-type urllib

2
推荐指数
1
解决办法
2467
查看次数