python爬虫学习14
这里写目录标题
-
-
- python爬虫学习14
-
- get 请求
-
- 简单的GET请求
- 附加信息的GET请求
- 返回值的类型
- 抓取网页
- 抓取二进制数据
- 添加请求头
-
- get 请求
- 简单的GET请求
# HTTP 中最常见的请求之一就是GET请求,首先首先来详细了解一下利用requests库构建GET请求的方法。# 下面构建一个最简单的请求,请求的链接为 https://www.httpbin.org/get,该网站会判断用户发起的是否为get请求 import requestsresp = requests.get('https://www.httpbin.org/get') print(resp.text)# 可以发现我们成功的发送了请求,返回结果中包含请求头、URL、IP等信息。
运行结果:
文章图片
- 附加信息的GET请求
# 附加信息的get请求 # 例如现在要添加两个参数 name 和 ageimport requests # 方法一 直接改造 url url = 'https://www.httpbin.org/get?name=germy&age=25' resp = requests.get(url) print(resp.text)# 方法二 利用字典传参 url = 'https://www.httpbin.org/get' data = https://www.it610.com/article/{'name': 'germy' , 'age': '25' } resp = requests.get(url, params=data) print(resp.text)
运行结果:
不用看了啊,一毛一样
文章图片
- 返回值的类型
- 返回值的类型为 str型 但是实际上这种字符串有一种特殊的格式——json。
# 直接解析结果,得到一个JSON格式的数据,可以直接调用JSON方法 # 返回值的JSON格式 import requestsresp = requests.get('https://www.httpbin.org/get') print(type(resp.text))# resp.text 的格式是 str json0 = resp.json() print(json0,type(json0),sep='\n') #json0 的格式是 dict
运行结果:
文章图片
- 返回值的类型为 str型 但是实际上这种字符串有一种特殊的格式——json。
- 抓取网页
# 直接抓取网页 # 抓取网页 import requests import reurl = 'https://ssr1.scrape.center/' r = requests.get(url) # 使用基本正则表达式来匹配所有标题的内容(后面会介绍到正则表达式的使用) pattern = re.compile('(.*?)', re.S) titles = re.findall(pattern, r.text) print(titles)
运行结果:
文章图片
- 抓取二进制数据
# 在上面抓取网页时,实际上网页返回给我们的是一个HTML文档,若是想要抓取图片、音频、视频等文件,就要抓取对应的二进制的数据:# 在上面抓取网页时,实际上网页返回给我们的是一个HTML文档,若是想要抓取图片、音频、视频等文件,就要抓取对应的二进制的数据: import requestsurl = 'https://scape.center/favicon.ico' r = requests.get(url) print(r.text) print(r.content)
运行结果:
文章图片
文章图片
可以看到我们获得了服务器的响应,但是拿到的却是一堆乱码,它实际上是二进制数据
# 让我们来操作一波 import requestsurl = 'https://scape.center/favicon.ico' r = requests.get(url) # 把我们获取到的数据保存 with open('favicon.ico','wb') as f: f.write(r.content) # 运行之后可以看到当先工作路径下出现了一个新的文件
打开文件:
文章图片
- 添加请求头
# 类似于之前 urllib 的添加方式 # 添加请求头 # 添加请求头 以伪装成浏览器发送请求 import requestsurl = 'https://ssr1.scrape.center/' headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36 SLBrowser/8.0.0.2242 SLBChan/11'} r = requests.get(url, headers=headers) print(r.text)
运行结果: 总之就是一大串源码
- 简单的GET请求
推荐阅读
- python|python爬虫学习30
- #yyds干货盘点#python包
- Python求列表中最大,最小,第二大,第二最小值
- 使用 Sanic 框架进行 Python Web 开发
- #yyds干货盘点#List移除某个值remove - python基础学习系列
- Python Kivy .kv文件介绍和用法示例
- Python OpenCV仿射变换实现详细指南
- Python使用Pandas处理日期和时间
- 机器学习|机器学习——垃圾邮件识别——SVM、MNB模型使用