【笔记】2022.5.9 网页数据收集

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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Sprite.Nym

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值