爬虫requests库

目录

设置代理

获取数据

请求方法常用参数

session对象


requests库中文文档:http://cn.python-requests.org/zh_CN/latest/

设置代理

import requests

url = 'http://httpbin.org/ip'
proxies = {
    "http":"180.191.159.22",
    "https":"180.191.159.22",
}
req = requests.get(url,proxies=proxies)
print(req.text)

获取数据

import requests

url = 'http://httpbin.org'
req = requests.get(url)
print(req.text)  # 使用text打印响应内容,字符串形式,打印出的数据中如果有乱码的,先使用encoding='utf-8'对返回的信息重新编码。
print(req.content)  # 使用content打印响应内容,二进制响应内容,字节串形式
print(req.url)  # 获取当前请求的url
print(req.status_code)  # 获取请求后的状态码
print(req.json())  # 将响应数据转为字典类型
print(req.headers)  # 响应头
print(req.request.headers)  # 请求头信息
print(req.cookies)  # cookie信息
print(req.encoding)  # 文本编码方式
print(req.raw)  # 返回一个响应的对象,对这个对象可以使用read等方法

请求方法常用参数

'''
# request是基于urllib3的库,最终的请求方法的参数如下:
    def request(self, method, url,
            params=None, data=None, headers=None, cookies=None, files=None,
            auth=None, timeout=None, allow_redirects=True, proxies=None,
            hooks=None, stream=None, verify=None, cert=None, json=None):   

# 请求方式method,不作为参数使用,通常作为requests的方法使用,.get()或者.post()
# 发送请求时的请求数据:params,字典类型,不需要转码,会自动将请求数据转为字节串类型的数据
# 重定向allow_redirects,默认为True,不允许时改为False
# headers(同urllib3)、cookies(字典形式)、timeout(同urllib3)
# 证书验证verify,如果运行过程中出现SSLError错误,说明需要证书验证,这时可以将verify的值设为False,
# 表示不做证书验证。运行过程中如果出现warnings的警告信息,可以使用requests.packages.urllib3.disable_warnings()方法忽略警告。
# data参数。只在post请求方式中使用,会转换为请求中form表单数据传入
# json同data参数,一般使用其中一种来传递。           
'''

session对象

import requests

url = 'http://www.baidu.com'
headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36'}

# 未添加session的结果
req = requests.get(url=url)
print(req.headers)

# 添加了session的结果
req_se = requests.session()  # 创建一个session对象
req_se.headers = headers  # 给创建的session对象添加请求头数据
req = req_se.get(url=url)
print(req.headers)
未使用session对象
{'Cache-Control': 'private, no-cache, no-store, proxy-revalidate, no-transform', 'Connection': 'keep-alive', 'Content-Encoding': 'gzip', 'Content-Type': 'text/html', 'Date': 'Tue, 22 Dec 2020 13:26:20 GMT', 'Last-Modified': 'Mon, 23 Jan 2017 13:28:12 GMT', 'Pragma': 'no-cache', 'Server': 'bfe/1.0.8.18', 'Set-Cookie': 'BDORZ=27315; max-age=86400; domain=.baidu.com; path=/', 'Transfer-Encoding': 'chunked'}

使用session对象
{'Bdpagetype': '1', 'Bdqid': '0xd75037a80003341d', 'Cache-Control': 'private', 'Connection': 'keep-alive', 'Content-Type': 'text/html;charset=utf-8', 'Date': 'Tue, 22 Dec 2020 13:26:20 GMT', 'Expires': 'Tue, 22 Dec 2020 13:26:20 GMT', 'P3p': 'CP=" OTI DSP COR IVA OUR IND COM ", CP=" OTI DSP COR IVA OUR IND COM "', 'Server': 'BWS/1.1', 'Set-Cookie': 'BAIDUID=7CE3EC6B340AAF67EBE09C795224C330:FG=1; expires=Thu, 31-Dec-37 23:55:55 GMT; max-age=2147483647; path=/; domain=.baidu.com, BIDUPSID=7CE3EC6B340AAF67EBE09C795224C330; expires=Thu, 31-Dec-37 23:55:55 GMT; max-age=2147483647; path=/; domain=.baidu.com, PSTM=1608643580; expires=Thu, 31-Dec-37 23:55:55 GMT; max-age=2147483647; path=/; domain=.baidu.com, BAIDUID=7CE3EC6B340AAF67ED6B58570FFF52C4:FG=1; max-age=31536000; expires=Wed, 22-Dec-21 13:26:20 GMT; domain=.baidu.com; path=/; version=1; comment=bd, BDSVRTM=6; path=/, BD_HOME=1; path=/, H_PS_PSSID=1426_33225_33306_33258_31660_33284_33287_33343_33313_33312_33169_33311_33310_32846_33309_33308_33307_33145_22157; path=/; domain=.baidu.com', 'Traceid': '1608643580063029069815514961910985602077', 'Vary': 'Accept-Encoding, Accept-Encoding', 'X-Ua-Compatible': 'IE=Edge,chrome=1', 'Transfer-Encoding': 'chunked'}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值