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 模块
    • 高频面试题目
爬虫合法么?
  • 作为技术本身在法律中是不被禁止的
  • 爬虫能获取的数据都是能通过浏览器正常获取的公开数据
  • 爬虫只是更快速的获取大量数据
有法律风险的情况?
  • 结合爬虫对网站服务器进行黑客攻击
  • 通过获取的数据谋取经济利益
  • 通过爬虫进行不当的商业竞争
  • 爬取的数据侵犯了对方的版权或隐私权
如何规避法律风险?
  • 切勿对网站服务器进行大规模的请求轰炸
  • 切勿对爬取到的数据进行公开传播或售卖
  • 切勿对涉及知识产权和用户隐私的数据进行爬取
相关推荐
油头少年_w1 天前
Python爬虫基础
爬虫
照物华1 天前
python中http.cookiejar和http.cookie的区别
爬虫·python·http
无敌最俊朗@1 天前
**HTTP/HTTPS基础** - URL结构(协议、域名、端口、路径、参数、锚点) - 请求方法(GET、POST) - 请求头/响应头 - 状态码含义
爬虫·python·网络协议·http·https
漫路在线2 天前
JS逆向-某易云音乐下载器
开发语言·javascript·爬虫·python
小生凡一2 天前
搜索引擎工作原理|倒排索引|query改写|CTR点击率预估|爬虫
爬虫·搜索引擎
CodeJourney.2 天前
基于MATLAB的生物量数据拟合模型研究
人工智能·爬虫·算法·matlab·信息可视化
一只专注api接口开发的技术猿2 天前
企业级电商数据对接:1688 商品详情 API 接口开发与优化实践
大数据·前端·爬虫
江禾藜2 天前
Python爬虫之路(14)--playwright浏览器自动化
爬虫·python·自动化
北漂老男孩2 天前
ChromeDriver进程泄漏问题分析与最佳实践解决方案
开发语言·爬虫
一个天蝎座 白勺 程序猿2 天前
Python爬虫(29)Python爬虫高阶:动态页面处理与云原生部署全链路实践(Selenium、Scrapy、K8s)
redis·爬虫·python·selenium·scrapy·云原生·k8s