洗礼灵魂,修炼python(50)--爬虫篇—基础认识
爬虫
1.什么是爬虫
爬虫就是昆虫一类的其中一个爬行物种,擅长爬行。
哈哈,开玩笑,在编程里,爬虫其实全名叫网络爬虫,网络爬虫,又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者。是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫(这一点倒是和我上面说的虫很形象)。
这个解释有点官方了,说直白点,用过百度查找资料吗?你肯定用过吧,你知道像百度这样的搜索引擎什么原理吗?其实就是爬虫,不断的到各大网站链接里去爬取数据并通过专有机制分析并分类处理(想必搞SEO的人应该更了解这些东西),当用户搜索一个关键词,如果这个关键词与数据里的某个分类标签相同,则把之前存放好的相关数据反馈给用户。这整个过程里使用的程序就是爬虫,而这种功能实现就是爬虫的实现,而用python作为爬虫的搞得名声最响亮的,目前我知道的就是谷歌搜索。
再说直白点,其实爬虫分两个步骤,爬和取,当你打开浏览器看到我这篇博文标题,并点击进来查看,这个操作的过程就是在爬数据,然后你觉得重要的文字复制记录到你的笔记里,这个操作就叫取数据。
注意:爬虫只能爬取浏览器能访问的数据,并不能爬取看不到的数据,比如你说你想通过爬虫爬取谁谁谁的银行卡信息,然后把TA的钱搞到你帐上等等的,或者你想爬取某某论坛设置权限的页面等等的,这些都是不能实现的。
2.在python中怎么使用爬虫爬取数据
在python中,需要使用urllib,rurllib2,requests,等的模块来爬取数据:
例爬取百度首页(声明:本博文只是作学术研究,并无对百度网站进行攻击等)
注意:以下代码都是在python2中,python3中不存在urllib和urllib2模块,在python3中,把相关的urllib模块组合成了一个包,都在urllib包下
# -*- coding:utf-8 -*- import urllib url='http://www.baidu.com' #百度网址。传入urlopen()的参数有特别说要求,要遵循一些网络协议,比如http,ftp等,不能是一个随便的字符串 html=urllib.urlopen(url).read() #利用模块urllib里的urlopen方法打开网页 result=html.read()# 用read方法读取出来 print(result) #打印读取的页面操作
结果:

(由于内容太多没有截全)
到底是不是百度的页面呢?
打开百度,鼠标右键-查看网页源代码:


这里的片段刚好能和前面爬到的结果对应。
或者你也可以把爬到的首页源代码写入到一个html空文档里,再以浏览器形式打开看看。这里就不演示了,我可以很肯定的告诉你,确实是百度首页的源代码。
不过要提醒的是,如果你的浏览器在以登录百度账号的情况下,打开百度的首页源代码显示的结果有点不一样,这个情况很正常,不用怀疑代码问题,比如我的:

3.爬取的数据能干什么
你想一下,现在是大数据网络时代,网络上的东西基本啥都有,有你想不到的,也有你不敢想的都有(关于网络安全一块以后有时间更新),然后爬虫是干嘛的呢?只要网上有的并且浏览器可以访问的,都可以爬取,你可能会说,有的网站不是要登录帐号才能访问吗?是的,确实是这样,但是这种网站一样可以爬取,那有的接触的挺多网络信息的朋友说,能爬取暗网里的数据吗?我也可以说,也可以的(不知道什么是暗网的直接略过,建议不要去了解无端给你心里添堵)。
爬虫用的最多的地方就是搜索引擎,其次是企业间的竞争,再其次是网站间的流量竞争,再其次是个人的爱好使用等等……
最后我想说的是,爬虫也不止是python可以写,比如JAVA也可以写等等的,但是个人觉得在写爬虫这一块python是最简单的,其实当你学会python后,你会发现python很多地方都比其他的很简单
免责声明
本博文只是为了分享技术和共同学习为目的,并不出于商业目的和用途,也不希望用于商业用途,特此声明。如果内容中测试的贵站站长有异议,请联系我立即删除
洗礼灵魂,修炼python(50)--爬虫篇—基础认识的更多相关文章
- [Python笔记]第一篇:基础知识
本篇主要内容有:什么是python.如何安装python.py解释器解释过程.字符集转换知识.传参.流程控制 初识Python 一.什么是Python Python是一种面向对象.解释型计算机程序设计 ...
- 爬虫(二)Python网络爬虫相关基础概念、爬取get请求的页面数据
什么是爬虫 爬虫就是通过编写程序模拟浏览器上网,然后让其去互联网上抓取数据的过程. 哪些语言可以实现爬虫 1.php:可以实现爬虫.php被号称是全世界最优美的语言(当然是其自己号称的,就是王婆 ...
- 03.Python网络爬虫第一弹《Python网络爬虫相关基础概念》
爬虫介绍 引入 之前在授课过程中,好多同学都问过我这样的一个问题:为什么要学习爬虫,学习爬虫能够为我们以后的发展带来那些好处?其实学习爬虫的原因和为我们以后发展带来的好处都是显而易见的,无论是从实际的 ...
- Python网络爬虫第一弹《Python网络爬虫相关基础概念》
爬虫介绍 引入 之前在授课过程中,好多同学都问过我这样的一个问题:为什么要学习爬虫,学习爬虫能够为我们以后的发展带来那些好处?其实学习爬虫的原因和为我们以后发展带来的好处都是显而易见的,无论是从实际的 ...
- Python网络爬虫相关基础概念
什么是爬虫 爬虫就是通过编写程序模拟浏览器上网,然后让其去互联网上抓取数据的过程. 哪些语言可以实现爬虫 1.php:可以实现爬虫.php被号称是全世界最优美的语言(当然是其自己号称的,就是王婆 ...
- Python爬虫《Python网络爬虫相关基础概念》
引入 之前在授课过程中,好多同学都问过我这样的一个问题:为什么要学习爬虫,学习爬虫能够为我们以后的发展带来那些好处?其实学习爬虫的原因和为我们以后发展带来的好处都是显而易见的,无论是从实际的应用还是从 ...
- 03,Python网络爬虫第一弹《Python网络爬虫相关基础概念》
爬虫介绍 引入 为什么要学习爬虫,学习爬虫能够为我们以后的发展带来那些好处?其实学习爬虫的原因和为我们以后发展带来的好处都是显而易见的,无论是从实际的应用还是从就业上. 我们都知道,当前我们所处的时代 ...
- 《Python网络爬虫相关基础概念》
爬虫介绍 引入 之前在授课过程中,好多同学都问过我这样的一个问题:为什么要学习爬虫,学习爬虫能够为我们以后的发展带来那些好处?其实学习爬虫的原因和为我们以后发展带来的好处都是显而易见的,无论是从实际的 ...
- Python学习——爬虫篇
requests 使用requests进行爬取 下面是我编写的第一个爬虫的脚本 import requests # 导入reques ...
随机推荐
- Devops流程规范
芯盾时代_Devops_Docker操作说明及使用规范 北京芯盾时代科技有限公司 2019年1月 修订记录 版本号 修订人 修订日期 修订描述 v0.1 芯盾 2019/1/15 初次创建 v0.2 ...
- linux/cmd中python路径导入ModuleNotFoundError: No module named 'xxx'
在linux或者直接在cmd中运行python文件时 会遇到导包错误的情况ModuleNotFoundError: No module named 'xxx’由于不在pycharm中 所以这里不能将上 ...
- Eclipse常用注释设置
菜单:Window→Preferences→Java→Code Style→Code Template Files /** * @Title: ${file_name} * @Package ${pa ...
- CentOS 安装 kafka
首先确保JDK已正确安装并设置好环境变量 安装Zookeeper 到官网下载: https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/ zooke ...
- 与LINQ有关的语言特性
在说LINQ之前必须先说说几个重要的C#语言特性 一:与LINQ有关的语言特性 1.隐式类型 (1)源起 在隐式类型出现之前, 我们在声明一个变量的时候, 总是要为一个变量指定他的类型 甚至在fore ...
- 进程间通信IPC-管道
管道是UNIX系统IPC的最古老的形式,所有的UNIX系统都提供此通讯机制.管道有以下两种局限性: 1, 历史上,它们是半双工的(即数据只能在一个方向上流动).现在某些系统提供了全双工管道,但是为了最 ...
- hadoop之editlogs和fsimage
一.概述 hadoop的namenode和secondarynamenode: 1. namenode负责 负责客户端请求的响应 元数据的管理(查询,修改) 2. 元数据管理 namenod ...
- ASP.NET MVC5 + EF6 + LayUI实战教程,通用后台管理系统框架(3)
前言 本节将我们自己的CSS样式替换系统自带的 开始搭建 将脚本文件夹删掉,将内容文件夹里的内容删掉,将我们自己的CSS样式文件,全部复制到内容里边 新建家庭控制器 给家庭控制器添加索引视图 指数代码 ...
- Trie(字典树)解析及其在编程竞赛中的典型应用举例
摘要: 本文主要讲解了Trie的基本思想和原理,实现了几种常见的Trie构造方法,着重讲解Trie在编程竞赛中的一些典型应用. 什么是Trie? 如何构建一个Trie? Trie在编程竞赛中的典型应用 ...
- Badge
The following plugin provides functionality available through Pipeline-compatible steps. Read more a ...