【网络爬虫技术】(1·绪论)

🌈 个人主页:十二月的猫-CSDN博客
🔥 系列专栏: 🏀网络爬虫开发技术入门_十二月的猫的博客-CSDN博客

💪🏻 十二月的寒冬阻挡不了春天的脚步,十二点的黑夜遮蔽不住黎明的曙光 

目录

1. 爬虫是什么

1.1 网络爬虫思想本质

1.2 网络爬虫核心

1.3 爬虫的用途 

​1.4 爬虫分类

1.4.1 通用爬虫

1.4.2 聚集爬虫

2. 反爬手段

总结


1. 爬虫是什么

网络爬虫,是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本

网络爬虫还有许多其他的名字:

  • Crawler
  • Spider
  • Robot
  • Web agent
  • Wanderer
  • worm

这里面我最喜欢worm和spider

所以我后面的所有代码文件的命名都将采用这两个作为名字 

1.1 网络爬虫思想本质

网络爬虫获取网页信息本质上和人类获取网络信息是相同的思想

只不过爬虫能够自动化、快速化地多次重复完成人类的行为

人类浏览网络流程:

爬虫:伪装成人类向服务器发出请求,并获取服务器的返回信息

1.2 网络爬虫核心

  1. 爬取网页:爬取整个网页包含了网页中所有得内容
  2. 解析数据:将网页中你得到的数据进行解析(在大量数据中查找自己所想要的数据)
  3. 难点:爬虫和反爬虫之间的博弈

1.3 爬虫的用途 

  • 数据分析/人工数据集
  • 社交软件冷启动
  • 舆情监控
  • 竞争对手监控

社交软件冷启动:并没有真正存在人,而是从微博等地方获取个人信息,制造出假用户。从而来实现冷启动(引流)

出行:很多购票网站会去爬取12306,去爬12306的票,并将这个票用来自己售卖从而获取利润收入

1.4 爬虫分类

分为通用爬虫和聚焦爬虫,其中我们要学习和使用的是聚焦爬虫

1.4.1 通用爬虫

通用爬虫:

实例:

百度、360、google、sougou等搜索引擎‐‐‐伯乐在线

爬虫是搜索引擎用来收集互联网上网页信息的程序,是搜索引擎的一部分

它们按照预定的算法遍历网页并将内容抓取到搜索引擎的数据库中

搜索引擎的爬虫功能:

访问网页‐>抓取数据‐>数据存储‐>数据处理‐>提供检索服务

robots协议:

一个约定俗成的协议,添加robots.txt文件,来说明本网站哪些内容不可以被抓取,起不到限制作用 自己写的爬虫无需遵守

商用爬虫获取数据要遵循这个协议,不然被爬公司可以告你;

自己爬着玩随便爬的,这个协议就是一个txt文件,没有强制的限制作用

网站排名(SEO):

1. 根据pagerank算法值进行排名(参考个网站流量、点击率等指标) 2. 百度竞价排名

缺点:

1. 抓取的数据大多是无用的 2.不能根据用户的需求来精准获取数据

1.4.2 聚集爬虫

功能:

根据需求,实现爬虫程序,抓取需要的数据

设计思路:

1.确定要爬取的url

  • 如何获取Url

2.模拟浏览器通过http协议访问url,获取服务器返回的html代码

  • 如何访问

3.解析html字符串(根据一定规则提取需要的数据)

  • 如何解析

2. 反爬手段

  1. User‐Agent: User Agent中文名为用户代理,简称 UA,它是一个特殊字符串头,使得服务器能够识别客户使用的操作系统及版本、CPU 类型、浏览器及版本、浏览器渲染引擎、浏览器语言、浏览器插件等。     
  2. 代理IP: 西次代理、快代理 、高匿名、匿名和透明代理。1.使用透明代理,对方服务器可以知道你使用了代理,并且也知道你的真实IP。2.使用匿名代理,对方服务器可以知道你使用了代理,但不知道你的真实IP。3.使用高匿名代理,对方服务器不知道你使用了代理,更不知道你的真实IP。        
  3. 验证码访问:利用打码平台:1、云打码平台;2、超级🦅
  4. 动态加载网页:网站返回的是js数据 并不是网页的真实数据 ——selenium驱动真实的浏览器发送请求    
  5. 数据加密:分析js代码

总结

如果觉得对你有帮助,辛苦友友点个赞,收个藏呀~~~ 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/385132.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

本地部署Graphhopper路径规划服务(graphhopper.sh启动版)

文章目录 文章参考源码获取一、配置Java环境变量二、配置Maven环境变量三、构建graphhopper步骤1. 下载数据2. 配置graphhopper配置文件config-example.yml3. 在项目中启动命令行执行./graphhopper.sh build3.1|、遇到的问题3.1.1、pom.xml中front-maven-plugin-无法下载npm6.1…

跨境电商独立站:Shopify/Wordpress/店匠选哪个?

在面对不断增加的平台运营压力时,不少跨境电商的商家逐渐将注意力转向建立自己的独立站。据《中国跨境出口电商发展报告(2022)》所示,中国拥有的独立站数量在2022年已接近20万个,这表明独立站已成为卖家拓展海外市场的…

昇思25天学习打卡营第11天|xiaoyushao

今天分享ResNet50迁移学习。 在实际应用场景中,由于训练数据集不足,所以很少有人会从头开始训练整个网络。普遍的做法是,在一个非常大的基础数据集上训练得到一个预训练模型,然后使用该模型来初始化网络的权重参数或作为固定特征提…

苦学Opencv的第十一天:图像的形态学操作

Python OpenCV从入门到精通学习日记:图像的形态学操作 前言 图像形态学是图像处理中的一个重要分支,主要关注图像中物体的形状和结构。通过形态学操作,我们可以对图像进行有效的分析和处理,例如图像的腐蚀与膨胀、开运算与闭运算…

大模型学习笔记十四:Agent模型微调

文章目录 一、大模型需要Agent技术的原因二、Prompt Engineering可以实现Agent吗?(1)ReAct原理展示和代码(2)ModelScope(3)AutoGPT(4)ToolLLaMA 三、既然AutoGPT可以满足…

利用OSMnx求路网最短路径并可视化(二)

书接上回,为了增加多路径的可视化效果和坐标匹配最近点来实现最短路可视化,我们使用图形化工具matplotlib结合OSMnx的绘图功能来展示整个路网图,并特别高亮显示计算出的最短路径。 多起终点最短路路径并计算距离和时间 完整代码#运行环境 P…

C++——QT:保姆级教程,从下载到安装到用QT写出第一个程序

登录官网,在官网选择合适的qt版本进行下载 这里选择5.12.9版本 点击exe文件下载,因为服务器在国外,国内不支持,所以可以从我的网盘下载 链接: https://pan.baidu.com/s/1XMILFS1uHTenH3mH_VlPLw 提取码: 1567 --来自百度网盘超级…

Linux--网络基础

目录 1.计算机网络背景 2. 初识协议 2.1概念 2.2 协议分层 2.3OSI 七层模型 2.4TCP/IP 五层(或四层)模型 3.再识协议 3.1为什么要有 TCP/IP 协议? 3.2什么是 TCP/IP 协议? 3.3TCP/IP 协议与操作系统的关系(宏观上, 怎么实现的) 3.…

一键解锁:科研服务器性能匹配秘籍,选择性能精准匹配科研任务和计算需求的服务器

一键解锁:科研服务器性能匹配秘籍 HPC科研工作站服务器集群细分领域迷途小书童 专注于HPC科研服务器细分领域kyfwq001 🎯在当今科技飞速发展的时代,科研工作对计算资源的需求日益增长😜。选择性能精准匹配科研任务和计算需求的服…

HarmonyOS和OpenHarmony区别联系

前言 相信我们在刚开始接触鸿蒙开发的时候经常看到HarmonyOS和OpenHarmony频繁的出现在文章和文档之中,那么这两个名词分别是什么意思,他们之间又有什么联系呢?本文将通过现有的文章和网站内容并与Google的AOSP和Android做对比,带…

助力樱桃智能自动化采摘,基于嵌入式端超轻量级模型LeYOLO全系列【n/s/m/l】参数模型开发构建果园种植采摘场景下樱桃成熟度智能检测识别系统

随着科技的飞速发展,人工智能(AI)技术已经渗透到我们生活的方方面面,从智能家居到自动驾驶,再到医疗健康,其影响力无处不在。然而,当我们把目光转向中国的农业领域时,一个令人惊讶的…

python-NLP:2词性标注与命名实体识别

文章目录 词性标注命名实体识别时间命名实体(规则方法)CRF 命名实体识别方法 词性标注 词性是词汇基本的语法属性,通常也称为词类。词性标注是在给定句子中判定每个词的语法范畴,确定其词性并加以标注的过程。例如,表示…

【React】详解“最新”和“最热”切换与排序

文章目录 一、基本概念和初始化二、切换与排序功能的实现1. 函数定义和参数2. 设置活动 Tab3. 定义新列表变量4. 根据排序类型处理列表4.1 按时间降序排序4.2 按点赞数降序排序 5. 更新评论列表 三、渲染导航 Tab 和评论列表1. map 方法2. key 属性3. className 动态赋值4. onC…

模式Hash和history

vuerouter有两种路由模式Hash和history。区别:Hash为默认模式,url中包含一个#符号的哈希部分。优势:兼容性好,不需要后端服务器的特殊配置。缺点:不够美观,搜索引擎优化较差。History模式使用的浏览器的His…

小程序多排数据横向滚动实现

如何实现多排数据滚动效果 swiper 外部容器 swiper-item 每一页的数据 因为现在有多排数据,现在在swiper-item 中需要循环一个数组 初版 <template><view><view class"container"><view class"swiper-box"><swiper class&qu…

《Utilizing Ensemble Learning for Detecting Multi-Modal Fake News》

系列论文研读目录 文章目录 系列论文研读目录论文题目含义ABSTRACTINDEX TERMSI. INTRODUCTIONII. RELATED WORKA. FAKE NEWS CLASSIFICATION APPROACHES FOR SINGLE-MODALITY 单模态虚假新闻分类方法1) SINGLE-MODALITY BASED CLASSIFICATION APPROACHES USING TEXTUAL FEATUR…

家政项目小程序的设计

管理员账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;用户管理&#xff0c;家政人员管理&#xff0c;家政服务管理&#xff0c;咨询信息管理&#xff0c;咨询服务管理&#xff0c;家政预约管理&#xff0c;留言板管理&#xff0c;系统管理 微信端账号功能…

Servlet1-Servlet程序、请求处理、继承体系

目录 什么是Servlet 手动实现Servlet程序 ​编辑url地址如何定位到Servlet程序去访问 Servlet的生命周期 ​编辑GET和POST请求的分发处理 通过继承HttpServlet类实现Servlet程序 IDEA菜单生成Servlet程序 Servlet类的继承体系 ServletConfig类 ServletContext类 什么…

go语言day19 使用git上传包文件到github Gin框架入门

git分布式版本控制系统_git切换head指针-CSDN博客 获取请求参数并和struct结构体绑定_哔哩哔哩_bilibili &#xff08;gin框架&#xff09; GO: 引入GIn框架_go 引入 gin-CSDN博客 使用git上传包文件 1&#xff09;创建一个github账户&#xff0c;进入Repositories个人仓…

新能源充电桩结构设计的核心要素

充电桩结构设计的核心要素 一、外观设计 外观设计对于用户体验和充电站的可接受性具有举足轻重的地位。其设计应遵循现代化、直观易懂的原则&#xff0c;同时符合人机工程学原理&#xff0c;以确保用户操作的便捷性。此外&#xff0c;外观设计还需与城市规划和环境美学相协调…