python爬取豆瓣两千万图书简介信息:(二)简单python请求urllib2

这是全部的调试过程,我已经整理成为笔记,这里分享给大家:
python爬取豆瓣两千万图书简介信息:(一)目标API分析
python爬取豆瓣两千万图书简介信息:(二)简单python请求urllib2
python爬取豆瓣两千万图书简介信息:(三)异常处理
python爬取豆瓣两千万图书简介信息:(四)多进程并发
python爬取豆瓣两千万图书简介信息:(五)数据库设计
python爬取豆瓣两千万图书简介信息:(六)数据库操作类
python爬取豆瓣两千万图书简介信息:(七)代理IP
python爬取豆瓣两千万图书简介信息:(八)总结

简单python请求:urllib2

如何构建一个简单的pyhton请求,网上一搜一大推。
我这里采用的是 urllib2 作为我的请求库,原因是 urlib2 作为python的基础框架,接口成熟,应用范围广等。
下面就是一个简单的 urllib2 请求:

#!/usr/bin/env python
# -*- coding:utf-8 -*-

import urllib2

url = 'https://api.douban.com/v2/book/1000001'
headers = {"User-Agent": "Mozilla/5.0"}
#headers设置请求的headers,标明是哪种客户端访问的服务器,可以不填
req = urllib2.Request(url, headers=headers)
res = urllib2.urlopen(req, timeout=20)
#设置请求,并设置请求超时时间为20s
res = res.read()
#通过read()解析response,并将结果转译为utf-8编码
print res

运行结果如图所示:


屏幕快照 2017-07-10 下午1.59.22.png

这样,一个简单的urllib2 发起的网络请求就完成了。
其中需要说明的是,由于某些网站或者API的返回结果,其系统编码的方式是GB2312 或者 GBK 等,所以为了编码方式的统一,而且因为豆瓣API的接口字段有中文,所以此次编码统一使用UTF8编码。
python文件编码设置:

# -*- coding:utf-8 -*-

再就是pyhton系统编码设置:

import sys

default_encoding = 'utf-8'
if sys.getdefaultencoding() != default_encoding:
    reload(sys)

sys.setdefaultencoding(default_encoding)

因为我的python版本还是2.7,这个地方还是可以用sys.setdefaultencoding() 。然而在Python3.3开始已经移除了这个方法.所以具体在使用这个方法的时候,还是要深入了解一下具体情况,以及用不用sys.setdefaultencoding() 具体发生了什么事情。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容