python爬虫--爬虫前奏

大家好,我是白菜胡萝丸子

人生苦短,Python当歌

在这里插入图片描述

什么是爬虫?

采集信息的程序一般称为网络爬虫,其行为一般是先"爬"到对应的网页上,再把需要的信息“铲”下来。
形象的比喻:采集程序就像一只辛勤的小蜜蜂,它飞到花(目标网页)上,采集花粉(需要的信息),经过处理(数据清洗、储存)变成蜂蜜(可用的数据)。
为什么要用Python写爬虫程序
先对于其他编程语言,它代码简洁,开发效率高,支持的模块多,相关的HTTP请求模块和HTTP解析模块非常丰富。

爬虫工具

  • 谷歌浏览器
  • pycharm 2021

HTTP是什么?

http协议,全称是HyperText Transfer Protocol,中文的意思是超文本传输协议。
https协议,是http协议加密的版本。https = http + ssl

什么是URL?

URL是Uniform Resource Locator的简写,中文意思是统一资源定位符,一个URL是由一下几个部分组成的
schem://host:port/path/?query-string*#anchor

  • schem:代表访问的协议,一般是http或https以及ftp等
  • host:主机名,域名,比如www.baidu.coom
  • port:端口号,当你访问一个网站的时候,浏览器默认使用80端口。
  • path:查找路径,比如:www.baidu.com/trending/now后面的trending/now就是path
  • query-string:查询字符串,比如:www.baidu.com/s?wd=python,后面的wd=python就是查询字符串
  • anchor:瞄点,后台一般不用管,前端用来做页面定位的
    在浏览器中请求一个url,浏览器会对这个url进行一个编码,除英语字母,数字和部分符号外,其他的全部使用百分号+十六进制码值进行编码。也即是说,我们写代码构造程序是url出现非(英语字母,数字和部分符号)要转换称百分号+十六进制码值

在浏览器中发送一个http请求的过程

你在浏览器中输入网址时,按下回车键,浏览器会给服务器发送请求,然后服务器接受后,会返回请求的文件。
现在需要我们写代码模拟浏览器的行为,把你需要的文件给请求下来。
怎么样编写代码呢?

常用的请求方法
在http协议中定义了八种请求方法,而我们只用两种请求方法–get请求和post请求
1.get请求:一般情况下,只从服务器获取数据下来,并不会对服务器资源产生任何影响的时候用get请求
2.post请求:向服务器发送数据(登录)、上传文件等,会对服务器资源产生影响的时候会使用post请求
以上时在网站开发常用的两种方法,并且一般情况下都会遵循使用原则,但是有的网站和服务器为了做反爬虫机制,也经常会不按常理出牌,有可能一个应该使用get方法的请求一定要改成post请求,这个要视情况而定

请求头常见的参数(作用伪装成浏览器身份,不让服务器认为你是爬虫,简单点说,为了反扒)
在http协议中,向服务器发送一个请求,数据分为三部分,第一个是把数据放在url中,第二个是把数据放在body当中,第三个是放在head中,简单介绍爬虫请求头常用的参数
1.User-Agent:浏览器名称,为了给爬虫装上身份,来伪装我们的爬虫
2.Referer:表明当前这个请求是从哪个url过来的,这个一般也可以用来做反爬虫技术,如果不是从指定页面过来的,那么就不做相关的响应
3.Cookie:http协议是无状态的,也就是同一个人发送两次请求,服务器没有能力知道这两个请求是否是同一个人,因此这时候就用cookie来做标识,一般如果想要做登录后才能访问的网站,那么就需要发送cookie信息了

响应状态码

200:请求正常
302:临时重定向,比如在访问一个需要登录页面的时候,而此时没有登录,那么就会重定向到登录页面
400:请求的url在服务器上找不到,换句话说就是请求url错误
403:服务器拒绝访问,权限不够

猜你喜欢

转载自blog.csdn.net/coco264/article/details/123593366