爬虫

简介: 该文介绍了爬虫的基础知识,包括爬虫的定义(通过编程模拟浏览器抓取网络数据)、价值(实际应用和就业需求)、法律地位(合法但有违法风险,分为善意和恶意爬虫)以及可能带来的风险(影响网站运营和触犯法律)。为避免问题,建议优化程序、审查抓取内容。爬虫类型包括通用、聚焦和增量式爬虫。文中还提到了反爬与反反爬策略,以及robots.txt协议作为网站数据爬取的君子协定。此外,讨论了HTTP协议(包括User-Agent和Connection)和HTTPS协议的安全性及加密方式。

爬虫基础简介


什么是爬虫:

       --- 通过编写程序,模拟浏览器上网,然后让其去互联网上抓取数据的过程


爬虫的价值:

       ---实际应用

       ---就业


爬虫究竟是合法还是违法的?

---在法律中是不被禁止的

---具有违法风险

---善意爬虫   恶意爬虫


爬虫带来的风险可以体现在如下两个方面:

   ---爬虫干扰了被访问网站的正常运营

   ---爬虫抓取了收到法律保护的特定类型的数据或信息


如何在使用编写爬虫的过程中避免进入局子的厄运呢?

   ---时常优化自己的程序,避免感染被访问网站的正常运行

   ---在使用,传播爬取到的数据时间,审查抓取到的内容,如果发现了涉及到用户隐私,商业机密等敏感内容需要及时停止爬取或传播



爬虫在使用场景中的分类

       一 通用爬虫:

                   抓取系统重要的组成部分,抓取的是一整张页面的数据

       一 聚焦爬虫

                   是建立在通用爬虫的基础之上抓取的是页面中特定的局部内容

       一 增量式爬虫

                    检测网站中数据更新的情况。只会抓取网站中最新更新出来的数据。


爬虫的矛与盾


反爬机制

   门户网站,可以通过制定相应的策略或者技术手段,阻止爬虫程序进行网站数据的爬取

反反爬策略

   爬虫程序可以通过制定相应的策略或者技术手段,破解门户网站中具备的反爬机制 ,从而获取门户网站数据


robots.txt协议:

   君子协议。规定了网站中哪些数据可以被爬虫爬取,哪些数据不可以被爬取。

   网站地址+robots.txt    例如:https://www.bilibili.com/robots.txt


http协议

   一 概念:就是服务器和客户端进行数据交互的一种形式

常用请求头信息:

   一 User-Agent :请求载体的身份标识

例如:user-agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36

   一 Connection:请求完毕后,式断开连接还说保持连接


常用响应头信息:

   一 Content-Type:服务器响应回客户端的数据类型


https协议:

   一 安全的超文本传输(http)协议

加密方式:

   一 对称密钥加密

   一 非对称密钥加密

   一 证书密钥加密


相关文章
|
数据采集 JavaScript 前端开发
爬虫与反爬虫
本文介绍了爬虫与反爬虫的基本概念。爬虫是自动抓取互联网信息的程序,通常使用HTTP请求和解析技术获取数据。反爬虫技术包括验证码、User-Agent检测、IP限制、动态加载和数据接口限制等,用于阻止或限制爬虫访问。开发者需了解这些反爬虫策略,并采取相应措施应对。同时,网站运营者在实施反爬虫时也应考虑用户体验。
|
Java Android开发
eclipse 导入项目源码报错(最全问题及解决方案)
我们在使用 eclipse 导入源码时,经常会出现一些意想不到的问题,出现各种报错或者是乱码,这里我汇总了eclipse导入项目出现问题的方法及解决方案,希望能帮助到大家
1468 0
eclipse 导入项目源码报错(最全问题及解决方案)
|
6月前
|
数据采集 测试技术 C++
无headers爬虫 vs 带headers爬虫:Python性能对比
无headers爬虫 vs 带headers爬虫:Python性能对比
|
8月前
|
数据采集 存储 数据挖掘
深入剖析 Python 爬虫:淘宝商品详情数据抓取
深入剖析 Python 爬虫:淘宝商品详情数据抓取
|
6月前
|
数据采集 存储 JSON
用Python爬虫抓取数据并保存为JSON的完整指南
用Python爬虫抓取数据并保存为JSON的完整指南
|
6月前
|
数据采集 存储 NoSQL
如何避免Python爬虫重复抓取相同页面?
如何避免Python爬虫重复抓取相同页面?
|
10月前
|
SQL 存储 关系型数据库
数据库的行级锁与表锁?
表锁:存储引擎在SQL数据读写请求前对涉及的表加锁,分共享读锁和独占写锁,读锁阻塞写,写锁阻塞读写,易发锁冲突,并发性低。行级锁:InnoDB支持,通过索引加锁,提高并发性,但可能引起死锁,需注意索引使用,适用于避免不可重复读场景。
155 21
|
12月前
|
数据采集 中间件 数据挖掘
Scrapy 爬虫框架(一)
Scrapy 爬虫框架(一)
219 0
|
数据采集 XML 缓存
心得经验总结:爬虫(爬虫原理与数据抓取)
心得经验总结:爬虫(爬虫原理与数据抓取)
193 0
|
数据采集 SQL 关系型数据库
Python学习路线【对标大厂Python开发工程师的招聘要求,并推荐优质免费资源】打卡学习不迷茫
Python学习路线【对标大厂Python开发工程师的招聘要求,并推荐优质免费资源】打卡学习不迷茫
396 14