requests简介
requests模块是python3自带的库,可直接使用,该库主要用来处理http请求
中文文档 : http://docs.python-requests.org/zh_CN/latest/index.html
requests模块的简单使用
requests模块发送简单的请求、获取响应
一、requests.get()
哪些地方我们会用到get请求
下载网页
检索
1.1 下载网页
import requests # 预先安装requests库 response = requests.get('https://www.baidu.com/') # 发送Http请求 response.encoding = "utf-8" # 将下载内容编码为utf-8格式,否则乱码 print(response.text) # 打印网页内容 print(response.status_code) # 打印状态码,200代表正常
response.text 类型:str 解码类型: 根据HTTP 头部对响应的编码作出有根据的推测,推测的文本编码 如何修改编码方式:response.encoding=”gbk” response.content 类型:bytes 解码类型: 没有指定 如何修改编码方式:response.content.deocde(“utf8”)
网页编码分析
或者
开始编码
得到网页数据
这里为了方便,用pycharm打开,当然也可以用浏览器打开
下载的网页效果
1.2 保存图片
import requests # 预先安装requests库 response = requests.get('https://www.baidu.com/img/bd_logo1.png') # 发送Http请求 print(response.status_code) # 打印状态码,200代表正常 with open('baidu.png', 'wb') as f: # 图片是二进制(也叫字节)数据 f.write(response.content)
1.3 检索
关于参数的注意点
在url地址中,很多参数是没有用的,比如百度搜索的url地址,其中参数只有一个字段有用,其他的都可以删除
对应的,在后续的爬虫中,越到很多参数的url地址,都可以尝试删除参数
删除多余参数
import requests query_string = input(":") params = {"wd": query_string} url = "https://www.baidu.com/s?wd={}".format(query_string) response = requests.get(url) print(response.text) print(response.request.headers)
这里百度反爬虫的措施限制了User-Agent,去找一个User-Agent(网上也有很多)
# coding=utf-8 import requests query_string = input(":") params = {"wd": query_string} url = "https://www.baidu.com/s?wd={}".format(query_string) headers = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.75 Safari/537.36"} response = requests.get(url, headers=headers) print(response.text) print(response.request.headers)