1_requests基础用法

python

requests模块的基本使用

  • 什么是requests模块?

  • Python中封装好的一个基于网络请求的模块

requests模块的作用?

  • 用来模拟浏览器发请求

requests模块的环境安装:

  • pip install requests

requests模块的编写流程:

  1. 指定url

  2. 发起请求:(1) Get(url, params, headers)(2) Post(url, data, headers)
  3. 获取响应数据
  4. 持久化存储

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)

 

以上是 1_requests基础用法 的全部内容, 来源链接: utcz.com/z/530812.html

回到顶部