爬虫

2024全网最全requests库和requests模块使用详解

一、requests简介 简介:使用requests可以模拟浏览器的请求,比起之前用的urllib,requests模块的api更加便捷(本质就是封装了urllib3) 注意:requests库发送请求将网页内容下载下来以后,并不会执行js代码,这需要我们自己分析目标站点然后发起新的request请求 安装:pip3 install requests 各种请求方式:常用的就是requests.get()和requests.post() 如果你想学习自动化测试,我这边给你推荐一套视频,这个视频可以说是B站播放全网第一的自动化测试教程,同时在线人数到达1000人,并且还有笔记可以领取及各路大神技术交流:798478386 【已更新】B站讲的最详细的Python接口自动化测试实战教程全集(实战最新版)_哔哩哔哩_bilibili​www.bilibili.com/video/BV17p4y1B77x/?spm_id_from=333.337.search-card.all.click 二 、基于requests之GET请求 1、基本请求 2、带参数的GET请求->params 在请求头内将自己伪装成浏览器,否则百度不会正常返回页面内容 如果查询关键词是中文或者有其他特殊符号,则不得不进行url编码 上述操作可以用requests模块的一个params参数搞定,本质还是调用urlencode 3、带参数的GET请求->headers 通常我们在发送请求时都需要带上请求头,请求头是将自身伪装成浏览器的关键,常见的有用的请求头如下 添加headers(浏览器会识别请求头,不加可能会被拒绝访问,比如访问 https://www.zhihu.com/explore) 4、带参数的GET请求->cookies 登录github,然后从浏览器中获取cookies,以后就可以直接拿着cookie登录了,无需输入用户名密码 三、基于POST请求 GET请求 HTTP默认的请求方法就是GET 1.没有请求体 2.数据必须在1K之内 3.GET请求数据会暴露在浏览器的地址栏中 GET请求常用的操作: 1. 在浏览器的地址栏中直接给出URL,那么就一定是GET请求 2. 点击页面上的超链接也一定是GET请求 3. 提交表单时,表单默认使用GET请求,但可以设置为POST POST请求 1.数据不会出现在地址栏中 2.数据的大小没有上限 3.有请求体 4.请求体中如果存在中文,会使用URL编码! #!!!requests.post()用法与requests.get()完全一致,特殊的是requests.post()有一个data参数,用来存放请求体数据 2、发送POST请求,模拟浏览器的登录行为 […]

blueidea