我正在使用Python编写一个webcrawler并且非常享受它!但是我注意到urlopen(url).read()
在Python上和curl
在终端上产生的结果之间存在一些差异。我试图install the pycurl module没有成功。有没有一种简单的方法可以在Python上生成CURL结果?
更新
在这种情况下,我解析了this网址。我在两个请求User-Agent: Mozilla/5.0
上都传递了相同的标头。以下是输出:
答案 0 :(得分:1)
我知道这是一个老问题,但也许答案仍然有用。
我遇到了同样的问题,而我所做的就是创建一个打印请求标题的php文件。然后我执行了curl
和urlopen
我检查了标题之间的差异。您可以在PHP docs中找到该脚本的示例。
此外,您可以转到浏览器并检查正在发送的标头。这样做,我看到urlopen
发送了connection: close
而不是keep-alive
。
最后,我添加了keep-alive
标题,urlopen
开始以curl
开始工作。这是我的具体问题,但由于服务器要求,您可能需要添加或删除另一个标头,因此可能不同。