Python爬虫 requests -- requests的安装和基本使用requests的get请求 / post请求requests ip代理
Posted CodeJiao
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python爬虫 requests -- requests的安装和基本使用requests的get请求 / post请求requests ip代理相关的知识,希望对你有一定的参考价值。
1. requests的安装
requests是python实现的简单易用的HTTP库,使用起来比urllib简洁很多。
requests的安装:
2. requests的基本使用
response的属性以及类型
- 类型 :models.Response
- r.text : 获取网站源码
- r.encoding :访问或定制编码方式
- r.url :获取请求的url
- r.content :响应的字节类型
- r.status_code :响应的状态码
- r.headers :响应的头信息
import requests
url = 'http://www.baidu.com'
response = requests.get(url=url)
# 一个类型和六个属性
# Response类型
print("response 类型是:", type(response))
# 设置响应的编码格式
response.encoding = 'utf-8'
# 以字符串的形式来返回了网页的源码
print("网页的源码: ", response.text)
# 返回一个url地址
print('url地址: ', response.url)
# 返回的是二进制的数据
print('二进制的数据: ', response.content)
# 返回响应的状态码
print('响应的状态码: ', response.status_code)
# 返回的是响应头
print('响应头: ', response.headers)
运行结果:
2. requests的get请求
这是我们要访问的网站:
# urllib
# (1) 一个类型以及六个方法
# (2)get请求
# (3)post请求 百度翻译
# (4)ajax的get请求
# (5)ajax的post请求
# (6)cookie登陆 微博
# (7)代理
# requests
# (1)一个类型以及六个属性
# (2)get请求
# (3)post请求
# (4)代理
# (5)cookie 验证码
import requests
url = 'https://www.baidu.com/s?'
headers =
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (Khtml, like Gecko) Chrome/92.0.4515.159 Safari/537.36'
data =
'wd': '北京'
# url 请求资源路径
# params 参数
# kwargs 字典
response = requests.get(url=url, params=data, headers=headers)
content = response.text
print(content)
# 总结:
# (1)参数使用params传递
# (2)参数无需urlencode编码
# (3)不需要请求对象的定制
# (4)请求资源路径中的?可以加也可以不加 https://www.baidu.com/s? 可以写为 https://www.baidu.com/s
运行结果:
3. requests的post请求
获取百度翻译:
我们先去找到百度翻译的翻译链接:找到链接为https://fanyi.baidu.com/sug
,请求参数为kw = spider。
import requests
url = 'https://fanyi.baidu.com/sug'
headers =
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.159 Safari/537.36'
data =
'kw': 'spider'
# url 请求地址
# data 请求参数
# kwargs 字典
response = requests.post(url=url, data=data, headers=headers)
content = response.text
import json
obj = json.loads(content)
print(obj)
# 总结:
# (1)post请求 是不需要编解码
# (2)post请求的参数是data
# (3)不需要请求对象的定制
运行结果:
4. requests ip代理
- 代理的常用功能?
- 突破自身IP访问限制,访问国外站点。
- 访问一些单位或团体内部资源(扩展:某大学FTP(前提是该代理地址在该资源的允许访问范围之内),使用教育网内地址段免费代理服务器,就可以用于对教育网开放的各类FTP下载上传,以及各类资料查询共享等服务。)
- 提高访问速度(扩展:通常代理服务器都设置一个较大的硬盘缓冲区,当有外界的信息通过时,同时也将其保存到缓冲 区中,当其他用户再访问相同的信息时, 则直接由缓冲区中取出信息,传给用户,以提高访问速度。)
- 隐藏真实IP(扩展:上网者也可以通过这种方法隐藏自己的IP,免受攻击。)
示例代码:
import requests
url = 'https://www.baidu.com/s?'
headers =
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.159 Safari/537.36',
data =
'wd': 'ip'
proxy =
# 这里就是代理ip 可以去快代理里面找 待会访问url就是这个ip
'http': '212.129.251.55:16816'
response = requests.get(url=url, params=data, headers=headers, proxies=proxy)
content = response.text
with open('daili.html', 'w', encoding='utf-8')as fp:
fp.write(content)
以上是关于Python爬虫 requests -- requests的安装和基本使用requests的get请求 / post请求requests ip代理的主要内容,如果未能解决你的问题,请参考以下文章
爬虫小探-Python3 urllib.request获取页面数据