1_requests基础用法

requests 模块的基本使用

  • 什么是requests 模块?
  • Python 中封装好的一个基于网络请求的模块

requests 模块的作用?

  • 用来模拟浏览器发请求

requests 模块的环境安装:

  • pip install requests

requests 模块的编写流程:

import requests
#1.指定url
url = 'https://www.sogou.com/'
#2.请求发送get,get发返回值是一个响应对象
response = requests.get(url=url)
#3.获取响应数据
page_text = response.text #返回的是字符串形式的响应数据
#4.持久化储存
with open('sogou.html','w',encoding='utf-8') as fp:
    fp.write(page_text)

参数动态化

  • 有些情况下我们是需要将请求参数进行更改,将get 或者post 请求对应的请求参数封装到一个字典(键值对=请求参数)中,然后将字典作用到get 方法的params 参数中或者作用到post 方法的data 参数中

UA 检测(反爬机制):

  • 是请求载体的身份标识,服务器端会检测请求的UA 来鉴定其身份。
  • 反反爬策略:UA 伪装,通过抓包工具捕获某一款浏览器的UA 值,封装到字典中,且将该字典作用到headers 参数中
import requests

url = 'https://www.sogou.com/web'
#实现参数动态化
wd = input('enter a key:')
params = {
    'query':wd
}
#解决UA检测
headers = {
    'User-Agent':'Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.100 Safari/537.36'
}
#在请求中需要将请求参数对应的字典作用到params这个get方法的参数中
response = requests.get(url=url,params=params,headers=headers)
response.encoding = 'utf-8'#修改响应数据的编码格式,不加这行会出现乱码
page_text = response.text
#持久化存储
fileName = wd+'.html'
with open(fileName,'w',encoding='utf-8') as fp:
    fp.write(page_text)

Original: https://www.cnblogs.com/qimu666/p/16565720.html
Author: 柒木木木
Title: 1_requests基础用法

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/598756/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 994.腐烂的橘子

    994.腐烂的橘子 在给定的 m x n 网格 grid 中,每个单元格可以有以下三个值之一: 值 0 代表空单元格;值 1 代表新鲜橘子;值 2 代表腐烂的橘子。每分钟,腐烂的橘…

    数据库 2023年6月16日
    0110
  • 页面静态化

    网站的首页频繁被访问,为了提升访问速度,除了我们之前已经学过的使用缓存技术外,还可以使用页面静态化技术。 页面静态化即将动态渲染生成的页面结果保存成html文件,放到静态文件服务器…

    数据库 2023年6月14日
    0106
  • RadonDB MySQL Kubernetes 2.2.1 发布!

    RadonDB MySQL Kubernetes[1] 于近日正式发布新版本 2.2.1[2]。该版本主要在用户管理、高可用组件等进行了优化,并修复一些问题。 感谢 @runkec…

    数据库 2023年5月24日
    0102
  • day40-网络编程02

    Java网络编程02 4.TCP网络通信编程 基本介绍 基于客户端–服务端的网络通信 底层使用的是TCP/IP协议 应用场景举例:客户端发送数据,服务端接收并显示控制台…

    数据库 2023年6月11日
    0111
  • openpyxl使用总结

    设置表头单元格的颜色 fill = PatternFill("solid", fgColor=’FF000000′) font = Font(color=’00…

    数据库 2023年6月9日
    0106
  • Linux–>文件目录作用查询

    在Linux中他的根目录都是决定好的无法改名,并且每一个目录他的作用都是决定好的 在Linux中一切都是文件!,Linux会把所有的硬件都映射成文件 代表根目录 /bin /bin…

    数据库 2023年6月14日
    0131
  • DevOps

    Docker: ## 安装Docker yum remove docker docker-client docker-client-latest docker-common doc…

    数据库 2023年6月9日
    0105
  • SQL99相较于SQL92在多表查询时的新语法

    1.自然连接 NATURAL JOIN SQL99中新增的自然连接相当于SQL92中的等值连接。它可以自动的查询两个表中 所有的相同字段,然后进行等值连接。 在SQL92中: SE…

    数据库 2023年5月24日
    0112
  • JDK自带线程池学习

    JDK自带线程池 线程池的状态 线程有如下状态 RUNNING状态:Accept new tasks and process queued tasks SHUTDOWN状态:Don…

    数据库 2023年6月11日
    0138
  • HTML&CSS-盒模型运用居中方式合集

    { margin: 0; padding: 0; list-style: none; 清除浏览器默认样式 .father1 { width: 400px; height: 400p…

    数据库 2023年6月11日
    0124
  • Windows 装机必备

    404. 抱歉,您访问的资源不存在。 可能是网址有误,或者对应的内容被删除,或者处于私有状态。 代码改变世界,联系邮箱 contact@cnblogs.com 园子的商业化努力-困…

    数据库 2023年6月6日
    0104
  • element-ui 提示框 确认按钮在左 取消按钮在右

    添加 //取消按钮 样式 cancelButto…

    数据库 2023年6月16日
    0105
  • Mysql 执行流程

    1、逻辑剖析 sql 执行流程为:sql语句 -> 查询缓存 -> 解析器 -> 优化器 -> 执行器。 1.1 服务器处理客户端请求 ​ 客户端程序 co…

    数据库 2023年5月24日
    0134
  • 自动补全、回滚!介绍一款可视化 sql 诊断利器

    Yearning简介 ================= Yearning MYSQL 是一个SQL语句审核平台。提供查询审计,SQL审核等多种功能,支持Mysql,可以在一定程度…

    数据库 2023年6月9日
    0139
  • 希望腿上的伤快点好

    明天去星巴克泡一会儿想把一些课程关联到的课程学习一下 Original: https://www.cnblogs.com/ukzq/p/16747859.htmlAuthor: D…

    数据库 2023年6月11日
    0119
  • tomcat服务的原理和使用

    一、tomcat与服务器的关系 服务器是指安装了服务器软件的计算机,而服务器软件是指接收用户请求,处理请求,返回请求结果的程序,常见的服务器软件有tomcat、iis等,也称为we…

    数据库 2023年6月14日
    0143
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球