美文网首页我爱编程
Python爬虫(一) Requests库part1

Python爬虫(一) Requests库part1

作者: 顾卿攸宁 | 来源:发表于2018-10-15 23:48 被阅读0次

    Requests库是由python语言编写的HTTP客户端库,常用于编写爬虫和测试服务器响应数据。

    1. 安装Requests

    Windows系统下,在命令行输入:pip install requests,安装

    2. 方法函数-get()

    r=requests.get(url,params,**kwargs)

    url: 需要爬取的网站地址。

    params: 翻译过来就是参数, url中的额外参数,字典或者字节流格式,可选。

    **kwargs : 12个控制访问的参数

    r对象的属性:

    r.status_code http请求的返回状态,若为200则表示请求成功。

    r.text http响应内容的字符串形式,即返回的页面内容

    r.encoding 从http header 中猜测的相应内容编码方式

    r.apparent_encoding 从内容中分析出的响应内容编码方式(备选编码方式)

    r.content http响应内容的二进制形式

    使用实例1:不带参数的get

    >>> import requests

    >>>r=requests.get('https://www.baidu.com')

    >>> print r

    出现<Response [200]>,说明请求成功

    >>> print r.encoding

    ISO-8859-1

    requests会从服务器返回的响应头的 Content-Type 去获取字符集编码,如果content-type有charset字段那么requests才能正确识别编码,否则就使用默认的 ISO-8859-1. 一般那些不规范的页面往往有这样的问题.

    解决办法:

    requests的返回结果对象里有个apparent_encoding函数, 通过调用chardet.detect()来识别文本编码

    >>> r.apparent_encoding

    'utf-8'

    >>> r.encoding='utf-8'

    >>> r.text

    此时正确打印出页面HTML

    使用实例2:传递参数

    参数以键/值对的形式置于 URL 中,跟在一个问号的后面

    >>> payload = {'key1': 'value1', 'key2': 'value2', 'key3': None}

    >>>r=requests.get('http://httpbin.org/get',params=payload)

    >>> print(r.url)

    http://httpbin.org/get?key2=value2&key1=value1

    使用实例3:传递headers

    >>> headers = {'user-agent': 'my-app/0.0.1'}

    >>> r = requests.get(url, headers=headers)

    使用实例4:传递cookies

    >>> url = 'http://httpbin.org/cookies'

    >>> cookies = dict(cookies_are='working')

    >>> r = requests.get(url, cookies=cookies)

    >>> r.text

    '{"cookies": {"cookies_are": "working"}}'


    参考来源:http://docs.python-requests.org/zh_CN/latest/index.html

    相关文章

      网友评论

        本文标题:Python爬虫(一) Requests库part1

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