美文网首页
python爬虫系列(2)- request库基本使用

python爬虫系列(2)- request库基本使用

作者: 永恒君的百宝箱 | 来源:发表于2019-07-30 10:44 被阅读0次

    记录requests库中的get使用方法以及使用样板

    介绍

    requests 是一个功能强大、简单易用的 HTTP 请求库,详细的就不多介绍了,总之是大名鼎鼎,请求网页最常用的一个库。

    官方文档网址:http://cn.python-requests.org/zh_CN/latest/

    其中get方法用的最为常用,本文着重记录 requests 中爬虫常用的get方法,以及一些使用样板。

    使用

    1、get方法的常用请求参数:url,headers,proxies

    rec = requests.get(url=url)
    rec = requests.get(url=url,headers=headers,proxies=proxies)
    

    url为请求的网址,必填参数
    headers,proxies两个参数为可选,主要是用来反爬虫用

    2、请求后生成rec的 Response 对象,该对象的主要方法有:

    * rec.url:返回请求网站的 URL
    * rec.status_code:返回响应的状态码,正常相应为200,
    * rec.content:返回 bytes 类型的响应体
    * rec.text:返回 str 类型的响应体,相当于 response.content.decode('utf-8')
    * rec.json():返回 dict 类型的响应体,相当于 json.loads(response.text)
    
    requests-Response方法1.png requests-Response方法2.png

    注意:.text和.content的区别

    text 返回的是unicode 型的数据,一般是在网页的header中定义的编码形式。
    content返回的是bytes,二级制型的数据。

    一般来说 .text直接用比较方便,返回的是字符串,但是有时候会解析不正常导致,返回的是一堆乱码这时用.content.decode('utf-8')就可以使其显示正常。

    也就是说你如果想要提取文本就用text,但是如果你想要提取图片、文件,就要用到content。

    3、使用样板

    上一篇文章:python爬虫系列(1)- 概述 里面的实例就是最最常用的requests的get方法

    import requests
    
    url = 'http://www.yhjbox.com'
    data = requests.get(url) #请求网页
    
    

    如果要加上headers、proxies参数,使用样板如下:

    import requests
    
    url="http://www.yhjbox.com"
    headers = {"User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.835.163 Safari/535.1"
               "Cookie": "dafbaidaodf"}#设置请求网页时候的请求头
    proxies = {"http": "http://1.197.203.57:9999"} #设置代理ip
    
    rec = requests.get(url=url,headers=headers,proxies=proxies)
    print(data.text)#打印网页源代码,字符串,正常解析
    print(data.content)#打印网页源代码,二进制形式
    

    这里也说明一下,样板的作用只要更换自己的url、headers、proxies,其他的都可以直接拿来用。

    后面会通过一些实例来说明这些参数的使用场景,大家记得这个通用的框架就好了。

    相关文章

      网友评论

          本文标题:python爬虫系列(2)- request库基本使用

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