文章目录
0. 数据来源
数据分析、数据挖掘的前提是有数据。数据地三大来源:数据库、爬虫、其他平台(API)
Spider:蜘蛛 -> 爬虫:可以在互联网的任意位置获取数据
1. 爬虫概念
爬虫,别名(网页蜘蛛、蠕虫),学名:网络数据采集
根据程序员的自定义规则(想法)在互联网中自动地爬取数据(图片、音频、视频、文字等都叫做数据)
2. 爬虫步骤概述
2.1 爬虫对谁做操作
a. 表面:爬虫对网页做操作
b. 深层次:爬虫对服务器做操作
2.2 对网页操作
a. 需要有HTML、CSS、JavaScript的知识,需要理解某个页面的结构
b. 浏览器页面F12或者FN+F12或者右键检查或者浏览器设置(Ctrl+Shift+I)都可以打开开发人员工具
c. 网页还分为静态页面和动态页面
2.3 使用三方模块requests
a. requests向目标网站的服务器发起请求,服务器根据请求返回响应结果response(对象)
b. 对response响应结果处理完得到的是字符串(HTML页面源代码)
2.4 从页面源代码中得到所需内容
a. 方法一:正则表达式匹配
b. 方法二:使用三方模块Beautifulsoup4对页面源码进行解析,解析完使用CSS选择器拿到所需内容
c. 方法三:使用三方模块lxml对页面源码解析,使用XPath语法拿到所需内容
2.5 数据持久化
将RAM中的结果存储到磁盘或者数据库中
2.6 反爬机制
(写爬虫会遇到各种反爬机制,使用指定的反反爬措施破解)
a. 将爬虫伪装成浏览器
b. 封禁IP地址的网站一般使用代理IP:站大爷、芝麻代理、极光代理等
c. 文字反扒
d. AJAX异步加载
etc
2.7 rpa(机器人流程自动化)
使用拖拉拽(实现了某些功能的模块)的形式实现流程自动化(爬虫等)
如:八爪鱼、影刀等
3. 爬虫知识点预备
3.1 静态页面和动态页面
(1)静态页面:网页一旦生成,里面的内容不会自动地发生变化。页面中包含:html(展示页面内容)、CSS样式(渲染html)、JavaScript(渲染html)
(2)动态页面:网页生成后,页面内容还会自动发生变化。页面内容和数据库进行联通,数据库中变,页面就变。一般动态页面都会应用AJAX异步加载
3.2 HTTP和HTTPS
HTTP协议(超文本传输协议),Web服务器和客户端之间进行数据传输都是明文形式
发展历史:网景公司->谋智->火狐浏览器。网景公司根据HTTP协议做了改进->HTTPS
https = http + ssl
SSL加密协议->将Web服务器和客户端的数据进行加密
3.3 cookie
(1)作用:将用户的账号密码以某些形式保存在本地
(2)性质:时效性
(3)在爬虫中cookie的作用:将本地的请求和远程服务器中保存的账号密码做对比
3.4 GET和POST
两种和服务器对话的方式
(1)GET:requests利用GET请求方式向服务器发送需求(加密机制很简单甚至不加密)
(2)POST:向服务器发送内容,例如账号密码(某个网站注册登录账号密码)
4. requests的基础用法
requests是Python实现的简单易用的能够请求网页的三方模块
4.1 模块安装
4.1.1 安装三方模块准备
(1)如果Terminal中显示的ps,安装三方模块会直接安装到本机主环境。使用venv\Scripts\activate激活虚拟环境
(2)修改微软的powershell策略组:Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
4.1.2 修改镜像源
镜像源:存储python三方模块的仓库,python的三方模块所有人都可以制作发布
输入代码:pip config set global.index-url https://pypi.douban.com/simple
4.1.3 requests模块安装
Windows:pip install requests
Mac、linux:pip3 install requests
RIGHT Result:
Successfully installed certifi-2021.10.8 charset-normalizer-2.0

最低0.47元/天 解锁文章
1847

被折叠的 条评论
为什么被折叠?



