1平时我们接触到的爬虫
搜索引擎(百度、谷歌、360搜索等)。
数据分析与研究。
抢票软件等。
2对爬虫的概念
通俗理解:爬虫程序是一个模拟人类请求网站行为的程序。它可以自动请求网页并捕获数据,然后使用某些规则提取有价值的数据
定义:网络爬虫(又称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。
3通用爬虫和聚焦爬虫
通用爬虫:通用爬虫是搜索引擎捕获系统(百度、谷歌、搜狗等)的重要组成部分。它主要将互联网上的网页下载到本地,形成互联网内容的镜像备份。
聚焦爬虫:这是一个针对特定需求的网络爬虫程序。它与普通爬虫的区别在于,焦点爬虫在实现网页捕获时会对内容进行过滤和处理,并尝试确保只捕获与需求相关的网页信息。
4http和https协议
HTTP(HyperText Transfer Protocol)协议:全称为超文本传输协议,中文为超文本传输协议。它是一种发布和接收HTML页面的方法。服务器端口号为端口80。HTTPS协议:它是HTTP协议的加密版本。SSL层添加在http下。服务器端口号为端口443。
5浏览器中发送一个http请求的过程
1当用户在浏览器的地址栏中输入URL并按enter键时,浏览器将向HTTP服务器发送HTTP请求。HTTP请求主要分为“get”和“post”方法。
2当我们在浏览器中输入URL时,浏览器发送请求以获取URL的HTML文件,服务器将响应文件对象发送回浏览器。
3.浏览器分析响应中的HTML,发现许多其他文件被引用,如图像、CSS和JS文件。浏览器将自动再次发送请求以获取图像、CSS文件或JS文件。
当所有文件下载成功后,网页将完全按照HTML语法结构显示。
6有关url
URL是Uniform Resource Locator的简写,统一资源定位符。 一个URL由以下几部分组成:
scheme://host:port/path/?query-string=xxx#anchor
- scheme:是访问的协议,一般为http或者https以及ftp等。
- host:主机名,域名,比如www.CSDN.com。
- port:端口号。当你访问一个网站的时候,浏览器默认使用80端口。
- path:查找路径。比如:www.CSDN.com/A/B,后面的A/B就是path。
- query-string:查询字符串,比如:www.CSDN.com/s?wd=python,后面的wd=python就是查询字符串。
- anchor:锚点,后台一般不用管,前端用来做页面定位的。
- 在浏览器中请求一个url,浏览器会对这个url进行一个编码。除英文字母,数字和部分符号外,其他的全部使用百分号+十六进制码值进行编码。
7一般的请求方法
在HTTP协议中,向服务器发送请求。数据分为三部分。第一个是将数据放在URL中,第二个是将数据放在body中(在post请求中),第三个是将数据放在头部(head)。以下是web爬虫中常用的一些请求头参数:
用户代理(User-Agent):浏览器名称。这通常用于网络爬虫。请求网页时,服务器可以通过此参数知道哪个浏览器发送了请求。如果我们通过爬虫发送请求,我们的用户代理(User-Agent)是python,它可以很容易地确定您的请求是具有反爬虫机制的网站的爬虫。因此,我们应该经常将该值设置为某些浏览器的值,以伪装我们的爬虫。
Referer:指示当前请求来自的URL。这也可以用作反爬虫技术。如果不是来自指定页面,则不会做出相关响应。
Cookie:HTTP协议是无状态的。也就是说,同一个人发送两个请求,而服务器无法知道这两个请求是否来自同一个人。因此,此时使用cookie作为标识。通常,如果你想成为一个只有在登录后才能访问的网站,你需要发送cookie信息。
8常见的状态响应码
200:请求正常,服务器返回数据正常。
301:永久重定向。例如,当您访问www.A.com时,您将被重定向到www.B.com。
302:临时重定向。例如,当您访问一个需要登录的页面,而此时您没有登录时,您将被重定向到登录页面。
400:在服务器上找不到请求的URL。换句话说,请求URL是错误的。
403:服务器拒绝访问,权限不足。
500:服务器内部错误。服务器上可能有错误。