第1天|12天搞定Python网络爬虫,吃里爬外?
人力资源部漂亮的小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方面的干货。关注我,没错的。
第1天|12天搞定Python网络爬虫,吃里爬外?的更多相关文章
- 第4天 | 12天搞定Python,基础语法(下)
为了方便你的学习,减轻负重,我特意将基础语法分成上下两部分.希望你喜欢这种方式,如果不喜欢,你可以跟我说,反正我是不会改的,哈哈~~. 如果上部分,你还没看的话,先去看<第4天 | 12天搞定P ...
- 第10天 | 12天搞定Python,文件操作(超详细)
在开发系统的过程中,经常会用到XML存储和传输数据,XML是一种用于标记电子文件使其具有结构性的标记语言,在博客中经常会见到. JSON是一种轻量级的数据交换格式,常被用在后端和前端的数据交互上,如你 ...
- 第12天 | 12天搞定Python,让excel飞起来
学了10多天Python基础知识了,是时候来点硬货了,看过<第1天 | 12天搞定Python,告诉你有什么用?>的老铁都知道,Python可用的领域挺多的.只是我长期待在企业,所以只能说 ...
- 第1天 | 12天搞定Python,告诉你有什么用?
掌握多一门编程语言,多一种选择,多一份机遇,更何况学的是人见人爱,花见花开的Python语言.它目前可占据编程语言排行榜的第3名,是名副其实的"探花郎",无论用它做什么(网络爬虫. ...
- 12天搞定Python,基础语法(上)
不知你是否见过建楼房的过程,没有的话,找个时间去瞧一瞧,看一看.看过之后,你就会明白.建楼房,只有打好地基之后,才能在砌墙,建的楼层越高,打的地基就越深. 学编程也一样,要想得心应手的应用,得先打好地 ...
- 第3天 | 12天搞定Python,用PyCharm编写代码
有了运行环境还不够,在程序的江湖里,还得有一把趁手的"兵器". 工欲善其事,必先利其器,在进行Python开发时,可选择 IDE挺多的,其中,以PyCharm. Eclipse+P ...
- 第3天 | 12天搞定Python,用VSCode编写代码
Visual Studio Code (简称 VS Code), 是一款免费并且开源的现代化轻量级代码编辑器,支持语法高亮.智能代码补全.自定义热键.括号匹配.代码片段等特性,并针对网页开发做了优化. ...
- 第2天 | 12天搞定Python,运行环境(超详细步骤)
倘若有人告诉你,他在学习Python编程,却没有安装运行环境,那你赶紧叫他滚,并离他远点,因为他在欺骗你的感情. 没有安装运行环境,程序根本无法跑起来,对错不能知根知底,试问是在学编程,还是在跟空气对 ...
- 转载 12步轻松搞定python装饰器
作者: TypingQuietly 原文链接: https://www.jianshu.com/p/d68c6da1587a 呵呵!作为一名教python的老师,我发现学生们基本上一开始很难搞定pyt ...
随机推荐
- golang 条件语句 for range 分析
for range 作为 golang中的语法糖提供了便利操作; 对于for range 支持 的数据类型包含: 数组以及指向数组的指针 切片 字典 通道 字符串 在range的语法糖中提供了一下特殊 ...
- Go 里的函数
1. 关于函数 函数是基于功能或 逻辑进行封装的可复用的代码结构.将一段功能复杂.很长的一段代码封装成多个代码片段(即函数),有助于提高代码可读性和可维护性. 在 Go 语言中,函数可以分为两种: 带 ...
- windows提权之mimikatz
mimikatz privilege::debug #提权命令 sekurlsa::logonPasswords #抓取密码 winmine::infos #扫雷作弊 lsadump::lsa /pa ...
- dpwwn-02靶机渗透
dpwwn-02靶机渗透 将两台机器都配置为net模式. 进行一下内网扫描: 发现主机10.10.10.10,进行端口扫描. 发现有80,111,443,2049等端口开放,443值得注意. 访问网站 ...
- brew清华镜像
https://mirror.tuna.tsinghua.edu.cn/help/homebrew/
- 嘿!Mybatis
简介 什么是Mybatis MyBatis 是一款优秀的持久层框架 它支持自定义 SQL.存储过程以及高级映射. MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作. My ...
- 百度地图四(Android百度地图Poi检索开发总结)
https://blog.csdn.net/wenzhi20102321/article/details/54575999
- jpa基本常识
1.hibernate更新表结构配置 jpa hibernate框架配置 spring.jpa.properties.hibernate.hbm2ddl.auto = create-drop 其意思是 ...
- spring-boot-route(三)实现多文件上传
Spring Boot默认上传的单个文件大小1MB,一次上传的总文件大小为10MB. 单个文件上传使用MultipartFile参数来接收文件,多文件使用MultipartFile[]数组来接收,然后 ...
- Spring中用@DependsOn注解控制Bean的创建顺序
1. 概述 Spirng容器自己会管理bean的生命周期和bean实例化的顺序,但是我们仍然可以根据我们自己的需求进行定制.我可以可以选择使用SmartLifeCycle接口,也可以用@Depends ...