首页 > 其他分享 >爬虫概述

爬虫概述

时间:2024-05-02 18:55:43浏览次数:22  
标签:网页 请求 URL 爬虫 爬取 概述 数据

一、什么是爬虫

爬虫(Crawler)是一种按照既定规则,在网络上自动爬取信息的程序或脚本。也称为网际网路蜘蛛(Internet Spider)或网络机器人(Web Robot)。爬虫可以自动抓取网络信息,主要用于网站数据采集、内容监测等。

二、爬虫能做什么

1、搜索引擎

搜索引擎利用爬虫发现网络上的页面,并建立索引,以提供搜索服务

2、数据采集

可以使用爬虫从网站上采集结构化的数据,例如天气预报、房价、商品价格等。这些数据可以用于分析。

3、网站检测

通过爬虫可以监测网站的运行状态、内容更新频率等,及时发现问题

4、舆情分析

使用爬虫技术可以采集相关的数据,进行产品、政策等方面的舆情分析。

5、自动化测试

6、做一些脱离手动的操作(帮人投票,12306投票,微信聊天助手-itchat)

三、数据能做什么

1、聚合产品

新闻网站,早期的今日头条

2、搜索引擎

百度、谷歌

3、数据分析、人工智能的源数据

4、特定领域的数据服务

二手车估价、天气预报、团购、去哪儿网

四、爬虫工作原理

爬虫的工作流程一般可以分为四步:
1. 确定几个初始URL作为入口
2. 发送请求下载对应的网页
3. 分析网页内容,提取需要的信息
4. 提取出页面中的链接作为新的URL
然后继续循环执行上述流程,直到满足结束条件。

五、爬虫类型

根据爬取的目标范围,爬虫可以分为两类:
1. 通用爬虫:爬取范围广泛,目标是发现网络上的所有信息,例如搜索引擎中的百度爬虫和谷歌爬虫。
2. 聚焦爬虫:爬取范围具体且清晰,以获取特定领域的信息,例如价格比较网站的产品价格爬虫。

六、爬虫工作流程详解

(一)确定初始URL
爬虫需要确定一个或多个初始URL作为入口。初始URL可以手动提供,也可以存储在数据库或其他文件中读取。
(二)下载网页
利用请求模块向初始URL发送请求,并下载对应的网页,通常会将页面内容以HTML格式保存。
(三)解析网页内容
根据网页元素的位置、属性等信息,使用解析模块提取出所需的数据。例如文章标题、发布时间、正文等。
(四)提取链接获取新URL
解析网页的同时,爬虫会提取出页面中的链接,作为后续待爬取的新URL。
重复上述流程,直到满足结束条件,例如爬取网页数达到预定量。

七、爬虫策略

(一)遵守robots协议
robots协议定义了爬虫的访问频率等规则,爬虫需要遵守以避免过多占用服务器资源。
(二)限定爬取频率
在robots协议基础上,进一步合理限定爬取频率,减轻服务器压力。
(三)设置随机等待时间
让爬虫程序在发送请求之间等待一定随机时间,降低对服务器的负载。
(四)使用缓存和判重机制
使用缓存已经爬取过得页面,并设定判重机制,避免重复爬取
(五)采用用户代理
模拟浏览器的请求头和用户代理信息,避免被拒绝访问。

八、学号爬虫需要了解的知识

1、计算机网络(http/https协议,tcp/ip协议,socket编程)
2、前端基础
3、正则表达式
4、数据存储技术(分布式存储)(nosql)
5、并发处理技术(多进程、多线程、线程池、协程)
6、图像识别(处理反爬、验证码),机器学习算法(验证码、数据解析)

九、爬虫中需要解决的问题

1、爬虫的采集和更新策略
2、解决反爬
3、数据解析
4、数据存储
5、模拟登陆(验证码识别)
6、爬虫的监控和部署
7、数据的去重(url去重、内容去重)

十、如何正确看待爬虫

1、爬虫不应该毫无节制
2、robots协议
3、法律问题
4、爬虫不能抓取页面上看不到的数据,是为了防止重复工作

5、目标网站会乖乖让我们随便爬取数据吗?-反爬

disallow是不允许爬虫的目录

allow是允许爬虫的目录

慕课网robots协议

 

 

十一、计算机网络相关知识

协议相关看网络部分。

一个完整的网络请求过程

网络爬虫的基本原理,网络爬虫是捜索引擎抓取系统的重要组成部分。爬虫的主要目的是将互联网上的网页下载到本地形成一个或联网内容的镜像备份。

网络请求过程

发起请求:通过 URL 向服务器发起 Request 请求(同打开浏览器,输入网址浏览网页),请求可以包含额外的 headers、cookies、proxies、data 等信息,Python 提供了许多库,帮助我们实现这个流程,完成 HTTP 请求操作,如 urllib、requests 等;
获取响应内容:如果服务器正常响应,会接收到 Response,Response 即为我们所请求的网页内容,包含 HTML(网页源代码),JSON 数据或者二进制的数据(视频、音频、图片)等;
解析内容:接收到响应内容后,需要对其进行解析,提取数据内容,如果是 HTML(网页源代码),则可以使用网页解析器进行解析,如正则表达式(re)、Beautiful Soup、pyquery、lxml 等;如果是 JSON 数据,则可以转换成 JSON 对象进行解析;如果是二进制的数据,则可以保存到文件进行进一步处理;
保存数据:可以保存到本地文件(txt、json、csv 等),或者保存到数据库(MySQL,Redis,MongoDB 等),也可以保存至远程服务器,如借助 SFTP 进行操作等。

IP地址和Url

IP地址

IP地址是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异。

如果看自己本机地址,windows上使用ipconfig

URL

URL(网址)是Uniform Resource Locator的简写,统一资源定位符。每个URL指向一个独特的资源,可以是一个html页面、一个CSS文档、一个图片、文件、JS文件等。URL由以下几部分组成:

1、协议的类型。如:https
2、主机名称/域名。如:baike.baidu.com
3、端口号
4、查找路径。如:865?
5、查询参数(为?后所有内容)。如:fromtitle=%E8%80%81%E8%99%8E&fromid=65781,采用键值对形式,多个键值对用&隔开
6、锚点,前端用来做面定位的。现在一些前后端分离项目,也用锚点来做导航
前端定位:https://baike. baidu.com/item/*E5488%98%E8%8BKA5%E8%88%B1#2
锚点导航:动的是#之后的内容,根据错点去请求数据 https://music.163.com/#/friend

 

 

标签:网页,请求,URL,爬虫,爬取,概述,数据
From: https://www.cnblogs.com/longlyseul/p/18170091

相关文章

  • openGauss 统一审计策略概述
    统一审计策略概述背景信息传统审计会产生大量的审计日志,且不支持定制化的访问对象和访问来源配置,不方便数据库安全管理员对审计日志的分析。而统一审计策略支持绑定资源标签、配置数据来源输出审计日志,可以提升安全管理员对数据库监控的效率。详情查看:https://opengauss.org详......
  • openGauss 审计概述
    审计概述背景信息数据库安全对数据库系统来说至关重要。openGauss将用户对数据库的所有操作写入审计日志。数据库安全管理员可以利用这些日志信息,重现导致数据库现状的一系列事件,找出非法操作的用户、时间和内容等。关于审计功能,用户需要了解以下几点内容:审计总开关audit_ena......
  • openGauss MOT使用概述
    MOT使用概述MOT作为openGauss的一部分自动部署。有关如何计算和规划所需的内存和存储资源以维持工作负载的说明,请参阅MOT准备。参考MOT部署了解MOT中所有的配置,以及服务器优化的非必须选项。使用MOT的方法非常简单。MOT命令的语法与基于磁盘的表的语法相同,并支持大多数标准,如Pos......
  • 爬虫自动化之drissionpage实现随时切换代理ip
    爬虫自动化之drissionpage实现随时切换代理iphttps://blog.csdn.net/qq_32334103/article/details/126133862下载SwitchyOmega地址:https://github.com/FelisCatus/SwitchyOmega/releases  importplatformfromDrissionPageimportChromiumPage,ChromiumOptions......
  • 操作系统】试题真题库第1章操作系统概述
    操作系统】第1章操作系统概述——单选题原创2023-09-2220:57:59阅读量145英伟达GR00TW星星S 码龄1年 关注一.单选题1.在计算机系统中配置操作系统的主要目的是(B).A.增强计算机系统的功能B.提高系统资源的利用率C.提高系统的运行速度D.合理组织系......
  • python可复用代码(连接数据库/字符串处理/爬虫/日志配置)【1】
    importpymysqlimportloggingimporttimeimportrandomimportloggingimportrequestsfrombs4importBeautifulSoup"""获取数据库连接"""#连接数据库获取游标defget_conn():""":return:连接,游标""&qu......
  • OLAP开源引擎对比之历史概述
    前言OLAP概念诞生于1993年,工具则出现在更早以前,有史可查的第一款OLAP工具是1975年问世的Express,后来走进千家万户的Excel也可归为此类,所以虽然很多数据人可能没听过OLAP,但完全没打过交道的应该很少。这个概念主要是在大数据圈里流传,而在大数据领域里,目前主流的OLAP开源引擎都诞......
  • 反爬虫方法
    1.拒绝请求a.根据IP判断优点:即时效果:一旦IP地址被封禁,来自该地址的流量将立即停止,从而防止了爬虫在封禁发生后进一步访问网站。简单易行:IP封禁通常很容易实施,大多数服务器和CDN服务都提供了相应的工具来帮助封锁一系列的IP地址。降低负载:通过封禁恶意或不必要的爬虫访问,可......
  • PageRank算法概述与Python实现
    PageRank算法是一种用于评估网页重要性的算法。它基于网页之间的链接结构来确定网页的权重和重要性。算法的核心思想是通过迭代计算网页之间的链接关系,以确定每个网页的权重。它将互联网视为一个有向图,其中网页是节点,链接是有向边。算法通过以下方式计算网页的PageRank值:每个网页......
  • 数美验证码-空间推测-爬虫
    前言因为要训练识别验证码的模型,需要爬取源数据。如果需要其他的类型,自行修改爬取结果这边把图片跟文本命名一样的。代码importtimeimportjsonimportrequestsdefsave_image_from_url(url,file_path):response=requests.get(url)withopen(file_pat......