本文涉及的主要知识点如下:
- WEB 是如何交互的;
- requests 库的 get、post 函数的应用;
- response 对象的相关函数及其属性。
环境:Python3.6 + Pycharm
库:requests
小编在本文中代码都已给出了详细注释,并且可直接运行。
首先,屏幕前的小伙伴们需要先安装 requests 库,安装之前需先安装好 Python 环境,如未安装,小编在这给小伙伴们提供最新的 Python 编译器安装教程:Python 最新 3.9.0 编译器安装教程
安装好 Python 环境后,windows 用户打开 cmd 命令输入以下命令即可(其余系统安装大致相同)。
pip install requests
Linux 用户:
sudo pip install requests
接下来就是实例讲解啦,小伙伴们多多动手操练呐!
1、爬取百度首页页面,并获取页面信息
# 爬取百度页面
import requests #导入requests爬虫库
resp = requests.get('http://www.baidu.com') #生成一个response对象
resp.encoding = 'utf-8' #设置编码格式为 utf-8
print(resp.status_code) #打印状态码
print(resp.text) #输出爬取的信息
2、requests 库 post 方法实例
\# post方法实例
import requests #导入requests爬虫库
resp = requests.post("http://httpbin.org/post") #post方法
print( resp.status_code ) #打印状态码
print( resp.text ) #输出爬取的信息
3、requests库 put 方法实例
\# put方法实例
import requests #导入requests爬虫库
resp = requests.put("http://httpbin.org/put") # put方法
print( resp.status_code ) #打印状态码
print( resp.text ) #输出爬取的信息
4、requests 库 get 方法传参
想要使用 get 方法传递参数,有两种方法可行:
- 在 get 方法之后加上要传递的参数用“=”号链接并用“&”符号隔开;
- 使用 params 字典传递多个参数。实例如下:
\# get传参方法实例1
import requests #导入requests爬虫库
resp = requests.get("http://httpbin.org/get?name=w3cschool&age=100") # get传参
print( resp.status_code ) #打印状态码
print( resp.text ) #输出爬取的信息
\# get传参方法实例2
import requests #导入requests爬虫库
data = {
"name":"w3cschool",
"age":100
} #使用字典存储传递参数
resp = requests.get( "http://httpbin.org/get" , params=data ) # get传参
print( resp.status_code ) #打印状态码
print( resp.text ) #输出爬取的信息
5、requests 库 post 方法传参
使用 post 方法传递参数和使用 get 方法传递参数的方法二是类似的。实例如下:
\# post传参方法实例
import requests #导入requests爬虫库
data = {
"name":"w3cschool",
"age":100
} #使用字典存储传递参数
resp = requests.post( "http://httpbin.org/post" , params=data ) # post传参
print( resp.status_code ) #打印状态码
print( resp.text ) #输出爬取的信息
6、如何绕过各大网站的反爬虫措施,以猫眼票房为例:
import requests #导入requests爬虫库
url = 'http://piaofang.maoyan.com/dashboard' #猫眼票房网址地址
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36'
} #设置头部信息,伪装浏览器
resp = requests.get(url, headers=headers) #
print(resp.status_code) #打印状态码
print(resp.text) #网页信息
8、爬取网页图片,并保存到本地。
先在E盘建立一个爬虫目录,才能够保存信息,小伙伴们可自行选择目录保存,在代码中更改相应目录代码即可。
import requests #导入requests爬虫库
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36'
} #设置头部信息,伪装浏览器
resp = requests.get('http://7n.w3cschool.cn/statics/img/logo/indexlogo@2x.png', headers = headers) #get方法的到图片响应
file = open("E:\\爬虫\\test.png","wb") #打开一个文件,wb表示以二进制格式打开一个文件只用于写入
file.write(resp.content) #写入文件
file.close() #关闭文件操作
以上就是今天的全部内容分享,觉得有用的话欢迎点赞收藏哦!
Python经验分享
学好 Python 不论是用于就业还是做副业赚钱都不错,而且学好Python还能契合未来发展趋势——人工智能、机器学习、深度学习等。
小编是一名Python开发工程师,自己整理了一套最新的Python系统学习教程,包括从基础的python脚本到web开发、爬虫、数据分析、数据可视化、机器学习等。如果你也喜欢编程,想通过学习Python转行、做副业或者提升工作效率,这份【最新全套Python学习资料】 一定对你有用!
小编为对Python感兴趣的小伙伴准备了以下籽料 !
对于0基础小白入门:
如果你是零基础小白,想快速入门Python是可以考虑培训的!
- 学习时间相对较短,学习内容更全面更集中
- 可以找到适合自己的学习方案
包括:Python激活码+安装包、Python web开发,Python爬虫,Python数据分析,人工智能、机器学习、Python量化交易等学习教程。带你从零基础系统性的学好Python!
一、Python所有方向的学习路线
Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
二、学习软件
工欲善其事必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。
三、入门学习视频
我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。
四、实战案例
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
五、面试资料
我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
最新全套【Python入门到进阶资料 & 实战源码 &安装工具】(安全链接,放心点击)
我已经上传至CSDN官方,如果需要可以扫描下方官方二维码免费获取【保证100%免费】
*今天的分享就到这里,喜欢且对你有所帮助的话,记得点赞关注哦~下回见 !