Python:urlopen()与CURL

时间:2015-11-01 03:27:11

标签: python curl pycurl

我正在使用Python编写一个webcrawler并且非常享受它!但是我注意到urlopen(url).read()在Python上和curl在终端上产生的结果之间存在一些差异。我试图install the pycurl module没有成功。有没有一种简单的方法可以在Python上生成CURL结果?

更新

在这种情况下,我解析了this网址。我在两个请求User-Agent: Mozilla/5.0上都传递了相同的标头。以下是输出:

1 个答案:

答案 0 :(得分:1)

我知道这是一个老问题,但也许答案仍然有用。

我遇到了同样的问题,而我所做的就是创建一个打印请求标题的php文件。然后我执行了curlurlopen我检查了标题之间的差异。您可以在PHP docs中找到该脚本的示例。

此外,您可以转到浏览器并检查正在发送的标头。这样做,我看到urlopen发送了connection: close而不是keep-alive

最后,我添加了keep-alive标题,urlopen开始以curl开始工作。这是我的具体问题,但由于服务器要求,您可能需要添加或删除另一个标头,因此可能不同。