100天精通Python(爬虫篇)——第111天:爬虫入门知识大总结

   日期:2024-12-27    作者:hubinusb 浏览:88    移动:http://w.yusign.com/mobile/quote/7140.html

文章目录

  • 一、爬虫概述
    • 1. 爬虫是什么
    • 2. 为什么要学习爬虫
    • 3. 爬虫与Python
    • 4. 爬虫合法吗
    • 5. 爬虫的矛与盾
    • 6. 爬虫原理图 and 流程图
  • 二、相关技术介绍
    • 1. HTML 与 CSS
    • 2. URL网址解释
    • 3. HTTP 与 HTTРS
      • (1)常见请求方式
      • (2)常见请求头
      • (3)常见请求状态码
    • 4. Chrome浏览器分析网站
    • 5. Session与Cookie
    • 6. Ajax请求

‌爬虫是一种自动访问互联网并抓取网页内容的程序。‌它通过模拟浏览器请求网站,获取网页的HTML代码、JSON数据或二进制数据(如图片、视频,然后提取用户需要的数据并保存起来。‌

爬虫有多种类型,包括

1、通用爬虫‌:用于收集互联网上的大量数据,例如搜索引擎的爬虫。

2、聚焦爬虫‌:针对特定主题或领域进行数据收集。

3、增量式爬虫‌:定期更新数据,只爬取自上次爬取以来更新过的网页数据。

4‌、深度爬虫‌:访问和收集隐藏在互联网深层网页中的信息。

5、垂直爬虫‌:专注于特定网站或类型网页的数据收集,例如新闻爬虫、电商产品爬虫等。

6、社交媒体爬虫‌:用于抓取社交媒体平台上的用户信息、帖子、评论等数据,常用于情感分析和舆情监测。

此外,爬虫在搜索引擎、企业数据分析、抢票软件等领域有广泛应用。例如,搜索引擎如Google和百度使用爬虫来收集和索引互联网上的信息,企业可以通过爬虫获取用户论坛上的数据以分析用户偏好,抢票软件则利用爬虫不断刷新和监控票务信息以帮助用户抢票。

对于个人

  • 在浏宽到一些优秀的让人血脉喷张的图片时.总想保存起来留为日后做桌面上的壁纸

  • 在浏宽到一些重要的数据时(各行各业),希望保留下来日后为自己进行各种销售行为增光添彩.在浏览到一些奇奇怪怪的劲爆视频时,希望保存在硬盘里供日后慢慢品鉴

  • 在浏览到一些十分优秀的歌声曲目时,希望保存下来供我们在烦闷的生活中增添一份精彩

对于爬虫工程师

  • 公司数据需求

  • 数据分析

  • 智能产品练习数据

爬虫一定要用Python么? 非也~用Java也行,C也可以。请各位记住,编程语言只是工具.抓到数据是你的目的用什么工具去达到你的目的都是可以的。和吃饭样,可以用叉子也可以用筷子,最终的结果都是你能吃到饭。那为什么大多数人喜欢用Python呢? 答案:因为Python写爬虫简单。不理解? 问:为什么吃米饭不用刀叉? 用筷子? 因为简单好用!

而Python是众多编程语言中,小白上手最快,语法最简单,更重要的是,这货有非常多的关于爬虫能用到的第三方支持库说直白点儿就是你用筷子吃饭,我还附送你一个佣人帮你吃!这样吃的是不是更卖了。更容易了~

首先,爬虫在法律上是不被禁止的。也就是说法律是允许爬虫存在的但是,爬虫也具有违法风险的就像菜刀一样,法律是允许菜刀的存在的。但是你要是用来砍人,那对不起,没人惯着你就像王欣说过的,技术是无罪的。主要看你用它来干嘛比方说有些人就利用爬虫+一些黑客技术每秒钟对着bb撸上十万八千次那这个肯定是不被允许的。

爬虫分为善意的爬虫和恶意的爬虫

  • 善意的爬虫:不破坏被爬取的网站的资源 (正常访问,一般频率不高,不窃取用户隐私)
  • 恶意的爬虫:影响网站的正常运营 (抢票,秒杀疯狂solo网站资源造成网站宕机)

综上为了避免进橘子我们还是要安分守已时常优化自己的爬虫程序避免干扰到网站的正常运行,井且在使用爬取到的数据时,发现涉及到用户隐私和商业机密等敏感内容时,一定要及时终止爬取和传播。

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

反反爬策略:爬虫程序可以通过制定相关的策略或者技术手段,破解门户网站中具备的反爬机制,从而可以获取户网站中相关的数据。个人建议:别强行反反爬,可能会已经涉及恶意爬虫=

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

爬虫原理图

爬虫流程图

标签名说明段落标记超链接超链接地址图片图片存放路径行内标签列表项划分HTML块表格标记行标记列标记标题

(2)CSS基础

  • 层叠样式表
  • 控制HTML页面的样式和布局
  • 使用将样式定义括起来

URL(网址)是Uniform Resource Locator的简写,统一资源定位符。URL由以下几部分组成

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

HTTP协议:全称是HyperText Transfer Protocal ,中文意思是超文本传输协议,是一 种发布和接收HTML (HyperText Markuup Language)页面的方法。服务器端口号为:80

HTTPS协议:全称: Hyper Text Transfer Protocol over SecureSocket Layer,是 HTTP协议的加密版本,在HTTP下加入了SSL层, 服务器端口号是:443

更多知识点参考:图解网络协议

(1)常见请求方式

http协议规定了浏览器与服务器进行数据交互的过程中必须要选择一种交互的方式。在HTTP协议中,定义了八种请求方式,常见的有get请求与post请求。

GET请求:一般情况下,只从服务器获取数据下来,并不会对服务器资源产生任何影响的时候会使用get请求

POST请求:向服务器发送数据(登录)、、上传文件等,会对服务器资源产生影响的时候会使用Post请求。请求参数在 中

(2)常见请求头

http协议中,向服务器发送-一个请求,数据分为三部分

  • 第一个是把数据放在urI中
  • 第二个是把数据放在body中(post请求时)
  • 第三个就是把数据放在head中

常见的请求头参数(非常重要

  • :浏览器名称
  • :表明当前这个请求是从哪个url过来的
  • :主机地址
  • (如果上面的都不行可以试试加上cookie:http协议是无状态的。也就是同一个人发送了两次请求。服务器没有能力知道这两个请求是否来自同一个人。而带上cookie就识别为登录过的用户或者同一个请求两次

(3)常见请求状态码

  • 200:请求正常,服务器正常的返回数据
  • 301:永久重定向。比如访问 http://www.360buy.com (京东以前的网址)的时候会重定向到:https://www.jd.com/
  • 404:请求的url在服务器 上找不到,换句话说就是请求的url错误.
  • 418:发送请求遇到服务器端反爬虫,服务器拒绝响应数据
  • 500:服务器内部错误,可能是服务器出现了bug

打开谷歌浏览器:右键 - 》 检查

  • Elements:可以帮助我们分析网页结构,获取我们想要的数据
  • Console控制台:打印输出网站的一-些信息,比如说网站的招聘信息
  • Sources:相当于一个文件夹一样,加载这个网页所需要的所有的源文件,除了Elements的源代码之外,还有一些CSS文件、JS文件等。
  • Network:查看整个网页发送的所有网络请求。一般我们想要去查看某- 个请求的信息,都可以到这里面去看

Session与Cookie是用于保持HTTP长时间连接状态的技术

Session

  • Session代表服务器与浏览器的一次会话过程。
  • Session是一 种服务器端的机制,Session对象用来存储特定用户会话所需的信息。
  • Session由服务器端生成,保存在服务器的内存、缓存、硬盘或数据库中。

Cookie的基本原理

  • 1、创建Cookie
  • 2、设置存储Cookie
  • 3、发送Cookie
  • 4、读取Cookie
  • Ajax在浏览器与Web服务器之间使用异步数据传输。这样就可以使网页从服务器请求少量的信息,而不是整个页面。

  • Ajax技术独立于浏览器和平台。

  • Ajax一般返回的是JSON,直接对Ajax地址进行Post或get,就返回JSON数据了

  • 判断是否为Ajax生成数据,看在滚动网页的时候是否发生了刷新,如果页面没有刷新说明数据自动生成,就是Ajax渲染到界面上的

本文地址:http://w.yusign.com/quote/7140.html    述古往 http://w.yusign.com/static/ , 查看更多

特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。


举报收藏 0评论 0
0相关评论
相关行情
推荐行情
点击排行
{
网站首页  |  关于我们  |  联系方式  |  用户协议  |  隐私政策  |  版权声明  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号