requests基础操作
1、基本介绍
- requests就是爬虫中一个基于网络请求的模块。
- 作用:模拟浏览器上网的。
2、环境安装:pip install requests
3、编码流程 - 指定URL(相当于打开浏览器输入网址)
- 发起请求(相当于按下回车)
- 获取响应数据(从指定url中爬取到数据)
- 持久化存储
4、例如我们做一个简单的网页采集器(模拟搜狗网址中,输入关键字返回页面)
import requests
#请求参数动态化
keyword = input('请输入关键字:')
#稍后想要把该字典作为请求参数
pram = {
'query':keyword, #只存在一个键值对(存在一组请求参数)
}
#1.指定url
url = 'https://www.sogou.com/web' #需要将请求参数去除
#2.发起请求
#params参数就是用来在请求时携带指定的请求参数
response = requests.get(url=url,params=pram)
#3.获取响应数据
page_text = response.text
#4.持久化存储
fileName = keyword + '.html'
with open(fileName,'w') as fp:
fp.write(page_text)
问题:没有爬取到我们想要的数据?原因是因为遇到反爬机制
- 分析:从报错信息中,得到了一个关键信息:网站检测到了异常的访问请求
- 浏览器可以正常访问,而程序不能正常访问;
- 网站如何可以监测请求是不是通过浏览器发起的呢?
-
- 是通过请求的一个头信息:user-agent
- 破解方式(UA伪装):伪装请求载体的身份标识
-
- 该反爬机制是一种最常见最通用的,也就是说绝大数网站都会携带该反爬机制,因此日后写爬虫程序,默认带上UA伪装操作
import requests
#请求参数动态化
keyword = input('请输入关键字:')
#稍后想要把该字典作为请求参数
pram = {
'query':keyword, #只存在一个键值对(存在一组请求参数)
}
#1.指定url
url = 'https://www.sogou.com/web' #需要将请求参数去除
#2.发起请求
head = { #存放需要伪装的头信息
'User-Agent':'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.71 Safari/537.36'
}
#通过headers参数进行了头信息的伪装
response = requests.get(url=url,params=pram,headers=head)
#3.获取响应数据
page_text = response.text
#4.持久化存储
fileName = keyword + '.html'
with open(fileName,'w') as fp:
fp.write(page_text)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· .NET Core 中如何实现缓存的预热?
· 三行代码完成国际化适配,妙~啊~
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?