爬虫(1)爬虫概述,爬虫抓包工具

在这里插入图片描述

爬虫前奏

爬虫的实际例子:

  • 搜索引擎(百度,谷歌,360)
  • 伯乐在线
  • 惠惠购物助手
  • 数据分析和研究

什么是网络爬虫?

通俗的理解:爬虫是一个模拟人类请求网站行为的程序.可以自动请求网页,并把数据抓取下来,然后使用一定的规则提取有价值的数据

通用爬虫和聚焦爬虫

  • 通用爬虫:通用爬虫是搜索引擎抓取系统(百度,谷歌,搜狗等)的重要组成部分.主要是将互联网上的网页下载到本地,形成一个互联网内容的镜像备份.
  • 聚焦爬虫:是面向特定请求的一种网络爬虫程序,他与通用爬虫的区别在于:聚焦爬虫在实施网页抓取时会对内容进行筛选.

http协议和Chrome抓包工具

什么是http和https协议:

  • HTTP协议:全称是HyperText Transfer Protocol,中文意思是超文本传输协议,是一种发布和接受HTML页面的方法,服务器端口号是80端口
  • HTTPS协议:是HTTP协议的加密版本,在HTTP下加入了SSL层,服务器端口号是443端口,一般要求网页安全的都会使用https协议(例如一些支付的页面)

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

  • 当用户在浏览器的地址栏输入一个URL并按回车键之后,浏览器会向HTTP服务器发送HTTP请求.HTTP请求主要分为"GET"和"POST"两种方法.
  • 当我们在浏览器输入URL http://www.baidu.com的时候,浏览器发送一个Requset请求去获取 http://www.baidu.com的html文件,服务器吧Response文件对象发送返回给浏览器
  • 浏览器分析Response中的HTML,发现其中引用了很多其他的文件,比如image文件,CSS文件,JS文件,浏览器会自动再次发送Requset去获取图片,CSS文件,或者JS文件
  • 当所有的文件都下载成功后,网页会提供HTML语法结构,完整的显示出来

URL详解

URL称为统一资源定位符
一个URL由一下几部分组成:

scheme://host:port/path/?query-string&xxx&anchor
  • scheme : 代表的是访问的协议,一般为http或者https以及ftp
  • host : 主机名,域名,比如www.baidu.com
  • port : 端口号.当你访问一个网站的时候,浏览器默认使用的是80端口
  • path : 查找路径.比就是如www.jianshu.com/trending/now,后面的trending/now就是path
  • query-string : 查询字符串,比如www.baidu.com/s?wd=胡歌,后面的wd=胡歌就是查询字符串
  • anchor : 锚点,后台一般不用管,前端用来做页面定位的.
    在浏览器中请求一个url,浏览器会对这个url进行编码.除了英文字母,数字和部分符号外,其余的全部使用百分号+十六进制码进行编码

常用请求方法:

在http协议中,定义了八种请求方法,但是常用的两种请求方法分别是"POST"请求和"GET"请求

  • get请求 : 一般情况下,只从服务器获取数据下来,并不会对服务器资源产生任何影响的时候会用到get请求
  • post请求 : 想服务器发送数据(登录),上传文件等,会对服务器资源产生影响的时候会用post请求
    以上是在网站开发中常用的两种方法,并且一般情况下都会遵循使用的原则,但是一些网站为了反爬虫机制,会在本应该发送get请求的地方,使用post请求.要视情况而定.

常见请求头参数:

在http协议中,向服务器发送一个请求,数据分为三个部分,第一个是吧数据放到url中,第二个是把数据放到body中(在post请求中),第三个是吧数据放到head中.这里介绍在网络爬虫中经常用到的一些请求头参数.

  • User-Agent : 浏览器名字.这个在网络爬虫中经常会被使用到,在请求一个网页的时候,服务器通过这个参数就可以知道这个请求是由哪种浏览器发送的,如果我们是通过爬虫发送请求,那么我们的User-Agent就是python,这对于那些有反爬虫机制的网站来说,可以轻易的判断你这个请求是由python程序发出的,因此我们要经常设置这个值为一些浏览器的值,来伪装我们的爬虫.
  • Referer : 表明当前这个请求是由哪个url过来的.这个一般也可以用来做反爬虫技术.如果不是从指定页面过来的,那么就不响应相关的内容.
  • Cookie:http协议是无状态的,也就是同一个人发送了两次请求,服务器没有能力知道这两个请求是否来自同一个人,因此这个时候就用cookie来标示,一般如果想要登录后才能访问的网站,那么就需要发送cookie信息了.

常见响应状态码

  • 200 : 请求正常,服务器正常的返回数据
  • 301 : 永久重定向.
  • 302 : 临时重定向,一般是访问需要登录的内容,会重定向到登录页面
  • 400 :请求的url在服务器上找不到.
  • 403 : 服务器拒绝访问,权限不够
  • 500 : 服务器内部错误,可能是服务器出现bug

Chrome抓包工具

F12或者右键检查进入到开发者模式,可以查看网络请求的参数等信息.

本文是博主学习视频的时一些笔记,如有侵权联系我,我会删除

发布了82 篇原创文章 · 获赞 26 · 访问量 3981

猜你喜欢

转载自blog.csdn.net/qq_40742223/article/details/105444185