ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

一个Python爬虫工程师的修养

2022-02-07 18:02:20  阅读:143  来源: 互联网

标签:网页 HTML Python 爬虫 学习 修养 数据


练武不练功,到老一场空

练武的人都知道:练武不练功,到老一场空!

说的是只练花架子,不练习内功,最终也都是一个菜鸟级武师。

在这里插入图片描述

学习编程何尝不是!我时常见到已经学习相当一段时间的程序员,连稍微深点的基本知识都没有掌握。可叹,可悲啊!根子不牢,注定走不远啊!

基于实例学习编程非常重要,也非常有效,但与此同时,我们也必须不断的加强基本功的学习,刻意的加强相关的技术。掌握技术脉络,加强各项技术,跳出编程语言本身,练好内功,才能爬的又快又好,成为一个高级的爬虫工程师!

在这里插入图片描述

本文从爬虫的技术原理出发,讨论了Python爬虫工程师必须掌握和不断加强的几项技术。

技术脉络

在这里插入图片描述

  • 1.程序发送请求给网页服务器,请求基于HTTP协议
  • 2.服务器返回网页或者数据,格式为HTML,JSON,XML等。
  • 3.程序从HTML,JSON,XML等文本中解析返回的网页,用的技术包括xpath, 正则表达式,css选择器等。
  • 4.程序把解析好的保存到文件或者数据库中供后续分析使用。文件格式通常是cvs,数据库可以使用关系型数据库如MySQL,或者非关系型数据库如MongoDB

在这里插入图片描述

除此之外,网站会有各种反爬取技术,爬虫工程师和网站开发工程一个攻,一个守,斗智斗勇。

在这里插入图片描述

另外,爬虫10个网页和爬取10000个网站是不同的概念,你需要维护要爬取的数以万计的URL,设置更新频率,去掉不需要的URL等等,查看各个网站的爬取状态等,这就是一个工程化的问题。商业级的爬虫涉及到很多工程化问题。

就像家庭作坊可以就在自己院子里,一家人就能生产出少量的产品。但要大量生成就需要厂房,财务,人事等企业框架和管理制度、

Python爬虫工程师的修养

下面列举了爬虫工程师需要不断掌握和精进的基本功技术:

HTTP协议

HTTP协议是爬虫和网页交流的语言,如果不懂这个语言,你肯定不能成为一个有效的爬虫工程师。你也不需要成为一个协议专家,主要掌握请求,相应,header,cookie等就可以了。

在这里插入图片描述

HTTP协议和下面的5项技术都可以在这个网站上学习:www.w3school.com.cn

网页格式:HTML和CSS

我们看到的网页基本都是HTML的格式,我们要从HTML的脚本中找出所需要的信息,就必须掌握HTML的格式。

在这里插入图片描述

同样的一个HTML页面,我们可以展现不同的样式。我们通过CSS来指定样式,比如指定表格用什么背景颜色,文字用什么字体等。

这些样式,本来不是爬虫工程师在意的事情,因为我们只在意数据。但是通过CSS,我们可以有效的定位到某些数据,所以CSS还是需要学习的,后面的数据解析部分会再次提到CSS。

网页格式:JavaScript

HTML是完全静态的网页,为了在网页上实现动态效果,就有了JavaScript。很多网页上的数据并没有直接在HTML中给出,而是通过JavaScript后续又加载出来的。

在这里插入图片描述
实际上,JavaScript是编程语言排行榜上很靠前的编程语言,所谓的前端开发者需要精通JavaScript,而爬虫工程师了解基本的知识,知道Ajax请求的相关原理,有时候还要知道如何用JavaScript加密,就差不多了。

网页格式:JSON

JSON是JavaScript Object Notation的意思,可以理解成一种数据结构。一般的数据API都是以JSON格式的:

在这里插入图片描述

数据解析 - xpath

我们需要用某种技术,从HTML中找出我们想要的数据,xpath是其中一种。简单说,就是通过路径来找到想要的数据:

在这里插入图片描述

数据解析 - css选择器

通过指定样式,我们也可以定位到指定的数据,再解析数据:

在这里插入图片描述

因为喜欢Jquery的原因,我个人更喜欢CSS选择器。

数据解析 - 正则表达式

前两种数据解析都是基于结构的解析方式,而正则表达式(re)就把HTML当成一个文本,不在意其中的结构,用字符串的规则解析数据:

在这里插入图片描述

数据存储 - csv

CSV是用逗号隔开的一种纯文本的数据格式,是数据分析和处理中最常用的格式。CSV可以用记事本打开,也可以用Excel打开。

在这里插入图片描述

数据存储 - 数据库

把数据存储在CSV等文本中很方便,但是数据的查询和处理不方便,为了解决这个问题,我们可以会把数据保存在数据库中。

这是很广阔的领域,数据库是计算机技术中最重要分分支之一。值得你不断地学习和精进。相比前面的HTML等,你只要几个小时就可以学会了,后面也不怎么需要更新知识。

在这里插入图片描述

工程化框架 - scapy

在Python的世界里,工程化最常用的就是Scrapy框架,它使用组件化的方式分解了爬虫所需要处理的事情,让你可以集中在最关键的地方,剩下的管理工作交给框架来完成。

在这里插入图片描述
关于Python技术储备

学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

一、Python所有方向的学习路线

Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

二、学习软件

工欲善其事必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。

三、入门学习视频

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。

四、实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

五、面试资料

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。


这份完整版的Python全套学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

在这里插入图片描述

标签:网页,HTML,Python,爬虫,学习,修养,数据
来源: https://blog.csdn.net/m0_59164520/article/details/122812491

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有