爬虫_requests
1.基本使用
1.1 文档
官方文档:
http://cn.python-requests.org/zh_CN/latest/
快速上手:
http://cn.python-requests.org/zh_CN/latest/user/quickstart.html
1.2.安装
pip install requests
或
pip install requests -i https://pypi.douban.com/simple
1.3.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) print(type(response)) #设置响应的编码格式 response.encoding='utf-8' #以字符串的形式来返回了网页的源码(常用) print(response.text) #返回一个url地址 print(response.url) #返回二进制数据 print(response.content) # 返回响应的状态码 print(response.status_code) # 返回的是响应头信息 print(response.headers)
2.request的get请求
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/101.0.4951.67 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)请求资源路径中的?可以加也可以不加
3.request的post请求
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/101.0.4951.67 Safari/537.36' } data={ 'kw':'eye' } # url 请求地址 # data 请求参数 # kwargs 字典 response = requests.post(url=url,data=data,headers=headers) content = response.text # 利用json解决中文乱码问题 import json obj = json.loads(content) print(obj) # 总结: # (1)post请求是不需要编解码 # (2)post请求的参数是data # (3)不需要请求对象的定制
4.get和post的区别?
(1)get请求的参数名字是params,post请求的参数名字是data
(2)请求资源路径后面可以不加“?”
(3)post不需要手动编解码
(4)不需要做请求对象的定制
5.request的代理
import requests # 请求资源地址 url = 'http://www.baidu.com/s?' # 请求头 headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.67 Safari/537.36' } #请求参数 data = { 'wd':'ip' } # 代理ip,IP要是不好使你就花钱买一个 proxy = { 'http':'121.230.210.31:2356' } 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)
代码地址:https://gitee.com/heating-cloud/python_spider.git
分类:
python
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!