美文网首页
python爬取豆瓣两千万图书简介信息:(二)简单python请

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

作者: 曹波波 | 来源:发表于2017-07-10 14:06 被阅读110次

    这是全部的调试过程,我已经整理成为笔记,这里分享给大家:
    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() 具体发生了什么事情。

    相关文章

      网友评论

          本文标题:python爬取豆瓣两千万图书简介信息:(二)简单python请

          本文链接:https://www.haomeiwen.com/subject/djwyhxtx.html