python - 爬虫简介

什么是爬虫?
  1. 模拟浏览器对网站服务器发送请求
  2. 解析服务器返回的响应数据,并保存数据
爬虫能获取哪些数据?
  1. 原则上所有可以通过浏览器获取的数据都可以爬取
  2. 爬虫也只能获取爬取浏览器可以正常获取的数据
爬虫的应用场景?
  1. 数据分析 (如电影票房、股票信息、商品销量等)
  2. 舆情监控(如微博、论坛等)
  3. 搜索引擎刷浏览播放量等(如各类自媒体账号)
  4. 抢票投票(对购票、投票接口发送请求)
  5. 网络安全(短信轰炸- 多个网站发送验证码)
为什么会有反爬?
  1. 防止有价值的数据被恶意获取
  2. 封锁垃圾流量,降低服务器的压力和运行成本
爬虫与反爬的对抗?
  1. 部分数据需要登录才能获取
  2. 通过验证码甄别真人与爬虫
  3. 监测同一IP 地址单位时间内的请求量
  4. 请求需要携带特定的数据
  5. 响应数据被加密,需要特定的算法解密
学习内容
  • 如何爬取网页数据? (如何对服务器发送请求,获取源文件)
    • Requests 模块(对服务器发送请求,获取数据 )
    • 模拟真实浏览器状态
    • 设置 Proxy 代理IP(避免单个ip发送过快,被服务器认为是爬虫)
  • 如何提取关键数据?(如何在源文件中获取有用的数据)
    • 正则表达式
    • XPath 表达式
  • 如何储存提取到的数据?
    • MongoDB 数据库
  • Scrapy 框架爬取海量数据
    • 集成发送请求,数据解析,数据保存
    • Scrapy 结合 MongoDB 储存数据
  • Scrapy-Redis 分布式爬虫(多个机器共同爬取一个任务)
    • Redis 数据库
    • Scrapy-Redis 框架
  • 模拟登陆
    • 登陆原理: Cookie 和 Session
    • Selenium 浏览器自动化
    • 爬取需要登陆才能获取的数据
  • 验证码识别
    • OpenCV 计算机视觉
    • OCR 文字识别引擎
    • EasyDL 机器学习云服务
  • 反爬与反反爬
    • 破解文字加密反爬
    • 各类加密算法:MD5,SHA256,AES,RSAc
    • JS逆向分析:还原网站的加密流程
  • 拓展内容
    • 数据分析: Pandas 模块
    • 高频面试题目
爬虫合法么?
  • 作为技术本身在法律中是不被禁止的
  • 爬虫能获取的数据都是能通过浏览器正常获取的公开数据
  • 爬虫只是更快速的获取大量数据
有法律风险的情况?
  • 结合爬虫对网站服务器进行黑客攻击
  • 通过获取的数据谋取经济利益
  • 通过爬虫进行不当的商业竞争
  • 爬取的数据侵犯了对方的版权或隐私权
如何规避法律风险?
  • 切勿对网站服务器进行大规模的请求轰炸
  • 切勿对爬取到的数据进行公开传播或售卖
  • 切勿对涉及知识产权和用户隐私的数据进行爬取
相关推荐
雨中散步撒哈拉9 小时前
16、做中学 | 初三上期 Golang面向对象_进阶
爬虫·python·golang
召唤神龙11 小时前
爬虫代理IP池搭建指南:实测推荐高可用服务商
爬虫·tcp/ip
深蓝电商API12 小时前
“油猴”脚本变身爬虫:Tampermonkey辅助自动化与数据采集
爬虫·自动化·tampermonkey
云动雨颤17 小时前
爬虫是怎么工作的?从原理到用途
爬虫·python·数据挖掘
深蓝电商API17 小时前
Scrapy源码剖析:下载器中间件是如何工作的?
爬虫·scrapy
召唤神龙1 天前
Scrapy爬虫多IP代理配置指南:避开反爬还能提速的实战技巧
爬虫·tcp/ip
深蓝电商API2 天前
So 库的攻防:当爬虫遇到 Native 加密函数该怎么办?
爬虫·so库
蒋星熠2 天前
爬虫中Cookies模拟浏览器登录技术详解
开发语言·爬虫·python·正则表达式·自动化·php·web
雪碧聊技术2 天前
爬豆瓣喜剧电影排行榜数据
爬虫·xhr请求
zhousenshan3 天前
python爬虫学习笔记
爬虫