Python:urlopen()与CURL

Python:urlopen()与CURL,python,curl,pycurl,Python,Curl,Pycurl,我正在用Python编写一个webcrawler,并且非常喜欢它!但是我注意到Python上的urlopen(url).read()和终端上的curl产生的结果之间存在一些差异。我试着去做,但没有成功。有没有一种简单的方法可以在Python上生成CURL结果 更新 在本例中,我解析了URL。我在两个请求上传递了相同的头用户代理:Mozilla/5.0。以下是产出: 卷曲输出: urlopen输出: 我知道这是一个老问题,但也许答案仍然有用 我也遇到了同样的问题,我所做的就是创建一个php文件来

我正在用Python编写一个webcrawler,并且非常喜欢它!但是我注意到Python上的
urlopen(url).read()
和终端上的
curl
产生的结果之间存在一些差异。我试着去做,但没有成功。有没有一种简单的方法可以在Python上生成CURL结果

更新

在本例中,我解析了URL。我在两个请求上传递了相同的头
用户代理:Mozilla/5.0
。以下是产出:

  • 卷曲输出:
  • urlopen输出:

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

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

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


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

      有什么区别-请为一个小页面发布两个输出curl:Python:我需要用class
      hpproduct
      捕获元素。它在cURL版本上,但在pythonurlopen版本上没有。服务器似乎正在为这两个请求发送不同的内容。我建议您查看cURL使用的标题,并尝试使用urlopen复制这些标题。我将在两个请求上传递相同的标题
      User-Agent:Mozilla/5.0
      。感谢您的合作!:)