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代码

posted on   天真的柏拉图  阅读(688)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

点击右上角即可分享
微信分享提示