【问题标题】:requests.get returns <!doctype> instead <Response>requests.get 返回 <!doctype> 而不是 <Response>
【发布时间】:2016-12-21 20:38:37
【问题描述】:

我对 requests.get() 有疑问。 如果我将 URL 手动粘贴到代码中,如下所示:

r = requests.get('https://berlin.kauperts.de/Strassen/Igelsteig-12557-Berlin.html')
print(r)

我得到:&lt;Response [200]&gt;。效果很好。 相反,如果我尝试从文件列表中请求请求,如下所示:

indir = '/home/d/Desktop/civiv_hacking/Streetnames/dump/berlin.kauperts.de/Strassen'
for root, dirs, filenames in os.walk(indir):
  for z in filenames:
     x = urlparse.urljoin('https://berlin.kauperts.de/Strassen/', z+'/'),
     [t[0] for t in x],
     print(t),
     for r in requests.get(t):              
        print(r),

我得到:https://berlin.kauperts.de/Strassen/Igelsteig-12557-Berlin/ <!DOCTYPE html> <html lang="de" xml:lang="de" xmlns="http://www.w3.org/1999/xhtml"> 如何让 requests.get() 返回 &lt;Response [200]&gt; 而不仅仅是 doctype 信息?

【问题讨论】:

    标签: python parsing url request python-requests


    【解决方案1】:

    如果你想查看Response 字符串表示,你不应该遍历它,只需打印:

    url = urlparse.urljoin('https://berlin.kauperts.de/Strassen/', z)
    response = requests.get(url)
    print(response)  # would print "<Response [200]>"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-10-27
      • 2013-07-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-11
      相关资源
      最近更新 更多