python - urllib里的Request方法, 换个URL就不能正常工作

查看:211
本文介绍了python - urllib里的Request方法, 换个URL就不能正常工作的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

以下代码运行会报错.

from urllib import request

req = request.Request('https://www.douban.com')
with request.urlopen(req) as f:
    print('Status:', f.status, f.reason)
    for k, v in f.getheaders():
        print('%s: %s' % (k, v))
    print('Data:', f.read().decode('utf-8'))

但是只要将url替换为https://api.douban.com/v2/boo... 就能正常工作.
这是什么原因呢?
第一天学习爬虫, 百思不得其解.

解决方案

>>> from urllib import request
>>> rsp=request.urlopen('https://www.douban.com')
>>> rsp.headers.items()
[('Date', 'Fri, 23 Sep 2016 04:04:07 GMT'), ('Content-Type', 'text/html; charset=utf-8'), ('Content-Length', '95658'), ('Connection', 'close'), ('Vary', 'Accept-Encoding'), ('X-Xss-Protection', '1; mode=block'), ('X-Douban-Mobileapp', '0'), ('Expires', 'Sun, 1 Jan 2006 01:00:00 GMT'), ('Pragma', 'no-cache'), ('Cache-Control', 'must-revalidate, no-cache, private'), ('Set-Cookie', 'll="118303"; path=/; domain=.douban.com; expires=Sat, 23-Sep-2017 04:04:07 GMT'), ('Set-Cookie', 'bid=bBpUcfoRNzY; Expires=Sat, 23-Sep-17 04:04:07 GMT; Domain=.douban.com; Path=/'), ('X-DOUBAN-NEWBID', 'bBpUcfoRNzY'), ('X-DAE-Node', 'sindar9c'), ('X-DAE-App', 'sns'), ('Server', 'dae'), ('Strict-Transport-Security', 'max-age=15552000;')]
>>> rspapi=request.urlopen('https://api.douban.com/v2/book/2129650')
>>> rspapi.headers.items()
[('Date', 'Fri, 23 Sep 2016 04:08:07 GMT'), ('Content-Type', 'application/json; charset=utf-8'), ('Content-Length', '2055'), ('Connection', 'close'), ('Vary', 'Accept-Encoding'), ('Expires', 'Sun, 1 Jan 2006 01:00:00 GMT'), ('Pragma', 'no-cache'), ('Cache-Control', 'must-revalidate, no-cache, private'), ('Set-Cookie', 'bid=iRABGolqvts; Expires=Sat, 23-Sep-17 04:08:07 GMT; Domain=.douban.com; Path=/'), ('X-DOUBAN-NEWBID', 'iRABGolqvts'), ('X-DAE-Node', 'dis16'), ('X-DAE-App', 'book'), ('Server', 'dae')]
>>> 

我试了2种方法,都没问题,你最好把错误信息贴出来。

这篇关于python - urllib里的Request方法, 换个URL就不能正常工作的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆