爬虫介绍
什么是爬虫?
- 简单一句话就是代替人去模拟浏览器进行网页操作
为什么需要爬虫?
- 为其他程序提供数据源 如搜索引擎(百度、Google等)
- 数据分析、大数据等等
- AI人工智能(有脸识别,智能家居、无人驾驶、智能导航……)
要达到这些Python技术一定非常高,数学、算法、数据分析能力等
企业获取数据的方式?
- 1.公司自有的数据
- 2.第三方平台购买的数据
。免费的大数据平台 如百度指数
。付费的大数据平台 如数据堂、贵阳大数据交易所 - 3.爬虫爬取的数据
Python 做爬虫的优势
- PHP : 对多线程、异步支持不太好
- Java : 代码量大,代码笨重
- C/C++ : 代码量大,难以编写
- Python : 支持模块多、代码简介、开发效率高 (scrapy框架)
爬虫的分类
- 通用网络爬虫 各大搜索引擎 例如 baidu google yahu
- 聚焦网络爬虫: 根据既定的目标有选择的抓取某一特定主题内容
三、几个概念
GET和POST
- GET : 查询参数都会在URL上显示出来,一般情况下,只是从服务器上获取数据,没有对服务器造成影响,这种方式就是一个get请求
- POST : 查询参数和需要提交数据是隐藏在Form表单里的,不会在URL地址上显示出,POST请求对服务器有影响
URL组成部分
URL: 全球统一资源定位符
https: 协议
new.qq.com: 主机名,可以理解为一台主机名叫 news.qq.com 。这台主机在 qq.com 这个域名下
port 端口号: 80 /new.qq.com 在他的后面有个 :80 可以省略
TWF20200/TWF2020032502924000.html 访问资源的路径
anchor: 锚点用前端在做页面定位的
注意 : 在浏览器请求一个url,浏览器会对这个url进行一个编码。(除英文字母、数字和部分标识其他的全部使用% 加 十六进制码进行编码)
例如 : https://tieba.baidu.com/f?ie=utf-8&kw=%E6%B5%B7%E8%B4%BC%E7%8E%8B&fr=search
%E6%B5%B7%E8%B4%BC%E7%8E%8B = 海贼王
User-Agent 用户代理
作用:记录用户的浏览器、操作系统等,为了让用户更好的获取HTML页面效果
User-Agent:
Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36反反爬的第一步
Referer
- 表明当前这个网址是从哪个url过来的。一般情况下可以用来做反爬的技术
cookie记录了与服务器相关的用户信息
* http协议是无状态的 什么是无状态 服务器无法判断用户的身份
- cookie实际上是一小段文本信息(ley-value格式)
- 反反爬 例如12306 百度
- 作用 反爬 模拟登录
状态码
- 200 : 请求成功
- 301 : 永久重定向
- 302 : 临时重定向
- 404 : 请求失败(服务器无法根据客户端的请求找到资源(网页))
- 500 : 服务器内部请求
抓包工具

image.png
- Elements : 元素 网页源代码,提取数据和分析数据页面(有些数据是经过特殊处理的所以并不是都是准确的)
- Console : 控制台 (打印信息,用的不多)
- Sources : 信息来源 (整个网站加载的文件)
- NetWork : 网络工作(信息抓包) 能够看到很多的网页请求