人力资源部漂亮的小MM,跑来问我:老陈,数据分析和爬虫究竟是关系呀?说实在的,我真不想理她,因为我一直认为这个跟她的工作关系不大,可一想到她负责我负责部门的招聘工作,我只好勉为其难地跟她说:数据分析,吃里,爬虫,爬外,合在一起就是吃里爬外。

大数据时代,要想进行数据分析,首先要有数据来源,单靠公司那几条毛毛雨(数据),分析个寂寞都不够,唯有通过学习爬虫,从外部(网站)爬取一些相关、有用的数据,才能让老板进行商业决策时的有据可依,而你,亦是老板。

一提到老板,漂亮的小MM,兴奋得不得了,马上大声问:你们IT界,最帅的是不是就是那个搞搜索引擎的李老板?

我尽管有点不服气,有点不开心,但我能怎么得,毕竟在网络爬虫方面,他(李老板)的技术比确实强。他懂得用爬虫技术,每天在海量互联网信息中进行爬取,爬取优质的信息并收录在他设定的数据库中。当用户在搜索引擎中,输入关键字时,引擎系统将对关键词进行数据分析处理,从收录的网页中找出相关网页,按照一定的排名规则排序并将结果展现给用户。

一想到排名赚到的money,李老板一分都不给我,我就跟人力MM说:好了,不跟你扯犊子了,我要跟我的老铁说网络爬虫的原理了,你个吃里爬外的家伙,见你的老板去吧。

1. 爬虫是什么

网络爬虫又称网络蜘蛛、网络蚂蚁、网络机器等,它按照我们制定的规则,在网络上爬取数据。爬到的结果中会有HTML代码、JSON数据、图片、音频或视频。程序员根据实际要求,对数据进行过滤,提取其中有用的,进行存储。

说白点,就是用Python编程语言模拟浏览器,访问指定网站,对其返回结果,按规则进行筛选并提取自己需要的数据,存放起来使用,以供使用。

看过我《第10天 | 12天搞定Python,文件操作 》和《第11天 | 12天搞定Python,数据库操作》的老铁,应该知道,数据常存在文件或数据库中。

2. 爬取流程

用户通过浏览器访问网络数据的方式:打开浏览器->输入网址->浏览器提交请求->下载网页代码->解析成页面。

爬虫编程,指定网址,模拟浏览器发送请求(获取网页代码)->提取有用的数据->存放于文件或数据库中。

爬虫编程,推荐用Python,是因为Python爬虫库简单易用,在Python内置环境中的,就可以满足大多数功能。它可以:

(1) 用http库向目标站点发起请求,即发送一个Request(包含请求头和请求体等);

(2) 对服务器返回的Response,用内置的库(html、json、正则表达式)就进行解析

(3) 将所需数据存储到文件或数据库当中。

如果Python内置的库不够用的话,可以用pip install 库名,快速下载第3方库并进行使用。

3. 爬点定位

在编写爬虫代码的过程中,经常需要指定爬取的节点或路径。如果我告诉你,Chrome浏览器,就可以快速获取节点或路径的话,你会不会马上看一下电脑是否安装了?

会的话,那就对了,不会的,赶紧去安装吧。

在页面中,按下键盘F2键,可显示源代码。鼠标选中你要获取的节点,右键【检查】就可定位到代码中,右键代码,选择【Copy】-【Copy Selector 】或【Copy XPath】便可复制节点或路径的内容。

好了,有关爬虫原理的内容,老陈讲完了,如果觉得对你有所帮助,希望老铁能转发点赞,让更多的人看到这篇文章。你的转发和点赞,就是对老陈继续创作和分享最大的鼓励。

一个当了10年技术总监的老家伙,分享多年的编程经验。想学编程的朋友,可关注今日头条:老陈说编程。我将分享Python,前端(小程序)和App方面的干货。关注我,没错的。

#Python##网络爬虫##程序员##爬虫#

第1天|12天搞定Python网络爬虫,吃里爬外?的更多相关文章

  1. 第4天 | 12天搞定Python,基础语法(下)

    为了方便你的学习,减轻负重,我特意将基础语法分成上下两部分.希望你喜欢这种方式,如果不喜欢,你可以跟我说,反正我是不会改的,哈哈~~. 如果上部分,你还没看的话,先去看<第4天 | 12天搞定P ...

  2. 第10天 | 12天搞定Python,文件操作(超详细)

    在开发系统的过程中,经常会用到XML存储和传输数据,XML是一种用于标记电子文件使其具有结构性的标记语言,在博客中经常会见到. JSON是一种轻量级的数据交换格式,常被用在后端和前端的数据交互上,如你 ...

  3. 第12天 | 12天搞定Python,让excel飞起来

    学了10多天Python基础知识了,是时候来点硬货了,看过<第1天 | 12天搞定Python,告诉你有什么用?>的老铁都知道,Python可用的领域挺多的.只是我长期待在企业,所以只能说 ...

  4. 第1天 | 12天搞定Python,告诉你有什么用?

    掌握多一门编程语言,多一种选择,多一份机遇,更何况学的是人见人爱,花见花开的Python语言.它目前可占据编程语言排行榜的第3名,是名副其实的"探花郎",无论用它做什么(网络爬虫. ...

  5. 12天搞定Python,基础语法(上)

    不知你是否见过建楼房的过程,没有的话,找个时间去瞧一瞧,看一看.看过之后,你就会明白.建楼房,只有打好地基之后,才能在砌墙,建的楼层越高,打的地基就越深. 学编程也一样,要想得心应手的应用,得先打好地 ...

  6. 第3天 | 12天搞定Python,用PyCharm编写代码

    有了运行环境还不够,在程序的江湖里,还得有一把趁手的"兵器". 工欲善其事,必先利其器,在进行Python开发时,可选择 IDE挺多的,其中,以PyCharm. Eclipse+P ...

  7. 第3天 | 12天搞定Python,用VSCode编写代码

    Visual Studio Code (简称 VS Code), 是一款免费并且开源的现代化轻量级代码编辑器,支持语法高亮.智能代码补全.自定义热键.括号匹配.代码片段等特性,并针对网页开发做了优化. ...

  8. 第2天 | 12天搞定Python,运行环境(超详细步骤)

    倘若有人告诉你,他在学习Python编程,却没有安装运行环境,那你赶紧叫他滚,并离他远点,因为他在欺骗你的感情. 没有安装运行环境,程序根本无法跑起来,对错不能知根知底,试问是在学编程,还是在跟空气对 ...

  9. 转载 12步轻松搞定python装饰器

    作者: TypingQuietly 原文链接: https://www.jianshu.com/p/d68c6da1587a 呵呵!作为一名教python的老师,我发现学生们基本上一开始很难搞定pyt ...

随机推荐

  1. Java审计之文件操作漏洞

    Java审计之文件操作漏洞篇 0x00 前言 本篇内容打算把Java审计中会遇到的一些文件操作的漏洞,都给叙述一遍.比如一些任意文件上传,文件下载,文件读取,文件删除,这些操作文件的漏洞. 0x01 ...

  2. Java多线程--原子性、可见性、有序性

    计算机的内存模型: 计算机在运行行程序的时候,指令由CPU执行,计算机上数据存放在物理内存当中,CPU在执行指令的时候免不了要和数据打交道.刚开始,还相安无事的,但是随着CPU技术的发展,CPU的执行 ...

  3. pwnable.kr-uaf-witeup

    没错,这道题超纲了,代码调试能力很差很差. 一些相关小笔记. UAF是在内存释放后,原指针仍然指向此内存,可通过其他填充操作将此内存值设为指定的值,使得指针指向特定值. 分析程序.本程序中,可输入1. ...

  4. Dominate【操作系统的经典算法】

    此篇文章我们来谈一谈操作系统中都出现过哪些算法,请欣赏下图 ↓ 进程和线程管理中的算法 进程和线程在调度时候出现过很多算法,这些算法的设计背景是当一个计算机是多道程序设计系统时,会频繁的有很多进程或者 ...

  5. 【CF1425B】 Blue and Red of Our Faculty! 题解

    原题链接 简要翻译: 有一个连通图,A和B同时从点1出发,沿不同的路径前进.原本,图上的每一条边都是灰色的.A将经过的边涂成红色,B将经过的边涂成蓝色的.每个回合每个人只能走灰色的边.当某个回合中不存 ...

  6. CentOS7的下载及虚拟机的创建

    一.CentOS的安装 1,首先打开开源镜像网站:www.mirrors.163.com(网易开源镜像网站),www.mirrors.aliyun.com(阿里云开源镜像网站) 以网易为例 2.点击进 ...

  7. 02 C语言最简单快速上手的IDE

    不要让开发环境 成为学习路上的拦路虎,先培养学习兴趣和学习路上的成就感,这个对于激励自己持续学习很重要. 等真正从小白入门了,甚至成为大牛了,能解决诸多困难问题了,安装个开发环境还会再是个什么难事吗? ...

  8. VS2015建立一个完整的c++工程:头文件.h 源文件.cpp,自动生成类

    https://blog.csdn.net/weixin_40539125/article/details/81430801 打开VS2015 ,新建VS win32工程,前面步骤很简单,不再阐述 下 ...

  9. matlab中polyfit

    来源:https://ww2.mathworks.cn/help/matlab/ref/polyfit.html?searchHighlight=polyfit&s_tid=doc_srcht ...

  10. DevOps元素周期表—2号元素Kibana

    Kibana 是一款开源的数据分析和可视化平台,它是 Elastic Stack 成员之一,设计用于和 Elasticsearch 协作.您可以使用 Kibana 对 Elasticsearch 索引 ...