Python爬虫教程—爬虫
1. 爬虫相关概念
1.1 定义
一段根据url爬取网页获取有用信息的程序,使用程序模拟浏览器向服务器发送请求获取响应信息
1.2 核心
- 爬取网页:爬取整个网页,包含网页所有内容
- 解析数据:将网页中的数据进行解析
1.3 难点
爬虫与反爬虫之间的博弈
1.4 用途
- 数据分析/人工数据集
- 社交软件冷启动
- 舆情监控
- 竞争对手监控
1.5 分类
-
通用爬虫(无需掌握):爬取的数据大多是无用的 无法根据用户的需求精准获取数据
几乎所有的搜索引擎都是通用爬虫
一般过程为:访问网页—>爬取数据—>存储数据—>处理数据—>提供检索服务
本应该根据PageRank算法(参考网站流量、点击率等指标)进行排名,百度却竞价排名
-
聚焦爬虫(需要掌握):根据需求实现爬虫程序 抓取需要的数据
设计思路:
- 确定爬取的网页——如何获取url
- 模拟浏览器通过HTTP协议访问url,获取服务器返回的html代码——如何访问
- 解析html字符串(根据一定规则提取需要的数据)——如何解析
1.6 反爬手段
-
User-Agent
User-Agent(用户代理),简称UA,是一个特殊的字符串头,使得服务器能够识别客户使用的操作系统及其版本、CPU类型、浏览器及其版本、浏览器渲染引擎、浏览器语言、浏览器插件等
-
代理IP
西次代理
快代理
高匿名、匿名和透明代理
1. 使用透明代理,对方服务器可以知道使用了代理并且也知道真实IP
2. 使用匿名代理,对方服务器可以知道使用了代理但是不知道真实IP
3. 使用高匿名代理,对方服务器不知道使用了代理更不知道真实IP
-
验证码访问
验证码校验,防止爬虫
反制手段:打码平台——云打码平台、超级
-
动态加载页面
网站返回的是js数据,而不是网页真实的数据
selenium驱动真实的浏览器发送请求
-
数据加密
将数据加密返回
分析js代码
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构