问题标签 [urllib2]

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.

0 投票
10 回答
27030 浏览

python - 使用 Python 获取 Wikipedia 文章

我尝试使用 Python 的 urllib 获取 Wikipedia 文章:

但是,我得到以下响应,而不是 html 页面:错误 - 维基媒体基金会:

维基百科似乎阻止了不是来自标准浏览器的请求。

有人知道如何解决这个问题吗?

0 投票
7 回答
8714 浏览

python - 在 urllib2 中缓存?

使用我忽略的 urllib2 时,是否有一种简单的方法来缓存内容,或者我必须自己滚动?

0 投票
3 回答
6509 浏览

python - Python的机械化模块错误

我正在使用该mechanize模块从 Python 执行一些 Web 查询。我希望我的程序能够容错并优雅地处理各种错误(错误的 URL、403/404 响应)。但是,我在 mechanize 的文档中找不到它为各种错误引发的错误/异常。

我只是用它来称呼它:

我怎么知道这里可以抛出哪些错误/异常并处理它们?

0 投票
14 回答
39640 浏览

python - urllib2 文件名

如果我使用 urllib2 打开一个文件,如下所示:

除了解析原始 URL 之外,是否有一种简单的方法来获取文件名?

编辑:将 openfile 更改为 urlopen ...不知道这是怎么发生的。

EDIT2:我最终使用:

除非我弄错了,否则这也应该排除所有潜在的查询。

0 投票
2 回答
5733 浏览

python - Apache套接字没有关闭?

我有一个使用 CherryPy 编写的 Web 应用程序,它在127.0.0.1:4321. 我们使用 mod-rewrite 和 mod-proxy 让 Apache 充当反向代理;Apache 还处理我们的 SSL 加密,最终可能用于传输我们所有的静态内容。

这一切都适用于小型工作负载。但是,我最近曾经urllib2编写过一个压力测试脚本,可以模拟 100 个客户端的工作负载。一段时间后,每个客户端都收到来自 Apache 的 503 错误,表明 Apache 无法连接到127.0.0.1:4321. CherryPy 运行正常,但我的 Apache 错误日志显示如下行:

[Thu Oct 02 12:55:44 2008] [error] (OS 10048)Only one usage of each socket address (protocol/network address/port) is normally permitted. : proxy: HTTP: attempt to connect to 127.0.0.1:4321 (*) failed

谷歌搜索此错误表明 Apache 可能已用完套接字文件描述符。由于我只有 100 个客户端在运行,这意味着连接没有关闭,无论是在我的urllib2连接和 Apache 之间(我肯定是调用.close()的返回值urlopen),还是在 Apache 和 CherryPy 之间。

我已经确认我的urllib2请求正在发送一个 HTTP标头,尽管如果这很重要Connection: close,Apache 已经配置了。KeepAlive On

万一这很重要,我使用的是 Python 2.5、Apache 2.2、CherryPy 3.0.3,并且服务器在 Windows Server 2003 上运行。

那么我下一步要做什么来阻止这个问题呢?

0 投票
4 回答
11258 浏览

python - urllib.urlopen 有效,但 urllib2.urlopen 无效

我有一个正在测试的简单网站。它在本地主机上运行,​​我可以在我的网络浏览器中访问它。索引页就是“运行”这个词。 urllib.urlopen将成功读取页面但urllib2.urlopen不会。这是一个演示问题的脚本(这是实际脚本,而不是不同测试脚本的简化):

这是堆栈跟踪:

有任何想法吗?我可能最终需要一些更高级的功能urllib2,所以我不想仅仅求助于 using urllib,而且我想了解这个问题。

0 投票
8 回答
30920 浏览

python - Python:urllib/urllib2/httplib 混淆

我正在尝试通过在 Python 中编写登录序列脚本来测试 Web 应用程序的功能,但我遇到了一些麻烦。

这是我需要做的:

  1. 使用一些参数和标题进行 POST。
  2. 跟随重定向
  3. 检索 HTML 正文。

现在,我对 python 比较陌生,但是到目前为止我测试过的两件事都没有奏效。首先,我使用 httplib、putrequest()(在 URL 中传递参数)和 putheader()。这似乎没有遵循重定向。

然后我尝试了 urllib 和 urllib2,将标头和参数都作为 dicts 传递。这似乎返回了登录页面,而不是我尝试登录的页面,我猜这是因为缺少 cookie 或其他原因。

我错过了一些简单的东西吗?

谢谢。

0 投票
4 回答
3927 浏览

python - urllib2 数据发送

我最近在 SO 的帮助下写了这个。现在有人可以告诉我如何让它真正登录到板上。它以非登录格式显示所有内容。

0 投票
3 回答
48319 浏览

python - 在python中将文件对象作为字符串读取

urllib2用来在页面中阅读。我需要对源代码进行快速正则表达式并提取一些变量,但urllib2呈现为文件对象而不是字符串。

我是 python 新手,所以我很难了解如何使用文件对象来执行此操作。有没有一种快速的方法可以将其转换为字符串?

0 投票
1 回答
1558 浏览

python - 使用 Python 跟踪重定向和 cookie

我希望能够使用 Python 跟踪和跟踪由不同网页设置的重定向和 cookie(有点像 Firefox 的篡改插件)。

因此,如果 website1 重定向到 website2 然后重定向到 website3,我想遵循它并查看每个网站设置的 cookie。我一直在查看 Urllib2,但它会自行重定向,而且我还没有看到跟踪重定向的方法。