分享一个自己从零开始学习python爬虫的一些笔记
爬虫流程如下图所示:
在了解了爬虫的流程之后,我们需要学习一下关于一些http的知识
1.http请求头:
首先在谷歌浏览器中我们打开百度,打开之后我们按下f12将会出现这样一个界面:
这时候我们选择 Network
什么?这里面啥都没有?别急,这时候我们刷新一下
我们按照下图所示,跟着他点一遍
右边的Headers出现了一些东西,我们来研究一下
了解了这些后,我们再来看一下URL
URL详解:
看完了URL,我们可以正式开始进入到爬虫的主要内容了~
首先我们最基本的库就是Requests这个第三方库
让我们来学一下Requests中的几个主要得到方法吧
Requests主要的7个方法
requests.request() #构造一个请求,支撑一下各方法的基础方法
requests.get() #获取HTML网页的主要方法,对应于HTTP的GET
requests.head() #获取HTML网页头信息的方法,对应于HTTP的HEAD
requests.post() #向HTML网页提交POST请求二点方法,对应于HTTP的POST
requests.put() #向HTML网页提交PUT请求的方法,对应于HTTP的PUT
requests.patch() #向HTML网页提交局部修改请求,对应于HTTP的PATCH
requests.delete() #向HTML页面提交删除请求,对应于HTTP的DELETE
Requests中几个常用方法的用法:
如果提交的不是键值对类型的数据,服务器将会把他放在 data 里
requests.request 7 种请求方式:
把一些键值对的内容添加到URL中:
修改 user-agent 模拟任何浏览器进行访问
注意 ! 如果不修改的话,那么python将会告诉服务器你自己就是个爬虫,这样服务器就会拒绝你的访问!
可以向某一个连接提交文件
设置延时
可以隐藏用户的原ip 可以防止对爬虫得到逆追踪
Response对象包含爬虫返回的重要内容
Robots协议:
robots协议存在网站的robots。txt中。例如 www.jd.com/robots.txt
Disallow 代表不允许访问
接下来是爬虫的基本框架:
r.raise_for_status() 如果页面返回404 打印信息产生异常
如果放回的是200 表明连接正常
使用python发送想要搜索的信息给百度:
搜索引擎的接口:
百度:https://www.baidu.com/s?wd=#想要搜索的信息
使用方法:
创建一个键值对 {‘wd’:’#发送的内容’}
然后使用requests库的get方法
网络图片的爬取和存储:
1.获取图片的url
2.创建存放的根目录
3.创建图片存放目录 #url.split(’/’)[-1] 使用分割符,除去url的 ’ / ’ 变为一个列表,再使用[-1]获取列表最后的内容(图片的名字)
4.首先使用if 判断根目录是否存在,如果不存在就创建一个根目录
5.再使用一个if判断文件是否存在,如果不存在就使用 requests.get() 获取图片的文件
6.最后使用 with open 写入图片数据