python爬虫容易学吗


Posted in Python onJune 02, 2020

随着大数据时代的到来,数据将如同煤电气油一样,成为我们最重要的能源之一,然而这种能源是可以源源不断产生、可再生的。而Python爬虫作为获取数据的关键一环,在大数据时代有着极为重要的作用。于是许多同学就前来咨询:Python爬虫好学吗?

什么是爬虫?

网络爬虫,又被称为网页蜘蛛,网络机器人,是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。

数据从何而来?

要想学Python首先请问:我们所爬的数据,是从哪里来的呢?

企业产生的用户数据:百度指数、阿里指数、TBI腾讯浏览指数、新浪微博指数;

数据平台购买数据:数据堂、国云数据市场、贵阳大数据交易所;

政府/机构公开的数据:中华人民共和国国家统计局数据、世界银行公开数据、联合国数据、纳斯达克;

数据管理咨询公司:麦肯锡、埃森哲、艾瑞咨询;

爬取网络数据:如果需要的数据市场上没有,或者不愿意购买,那么可以选择招/做一名爬虫工程师,自己动手丰衣足食。

怎么抓取页面数据?

网页三大特征:

网页都有自己唯一的URL(统一资源定位符)来进行定位;

网页都使用HTML (超文本标记语言)来描述页面信息;

网页都使用HTTP/HTTPS(超文本传输协议)协议来传输HTML数据;

爬虫的设计思路:

首先确定需要爬取的网页URL地址。

通过HTTP/HTTP协议来获取对应的HTML页面。

提取HTML页面里有用的数据:

a. 如果是需要的数据,就保存起来。

b. 如果是页面里的其他URL,那就继续执行第二步。

结语:Python爬虫的学习实际上在Python学习过程中是一个基础入门级的部分,学起来没啥难的,但它确实是职业能力中不可或缺的技能之一。、

内容扩展:

一个简单的爬虫实例:

import urllib,urllib2
import re
def geturllist():
  # 不访问网站,而是实例一个对象,为了模拟浏览器访问服务器
  req = urllib2.Request("http://www.budejie.com/video/")
  
  # 添加申请访问的header,让对方服务器误以为是浏览器申请访问(参数是通过浏览器复制过来的)
  req.add_header('User-Agent',' Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36')
 
  # 打开我刚才创建的实例对象
  res =urllib2.urlopen(req)
  html = res.read()
  print html # 访问到了资源代码
 
  # 定义一个正则化表达式为了获取我要的视频网址
  reg = r'data-mp4="(.*?)">'
  # 将网页源码中的视频网址找出来
  urllist = re.findall(reg,html)
  # print urllist
 
  # 有20个视频网址,用for循环一个一个下载出来
  n = 1
  for url in urllist:
    # url 视频网址,'%s.mp4'下载后的名字,url.split('/')[-1] 将字符串按照‘/'分开
    urllib.urlretrieve(url,'%s.mp4' %url.split('/')[-1]) # 下载视频
    n = n+1
 
geturllist()

到此这篇关于python爬虫容易学吗的文章就介绍到这了,更多相关python爬虫好学吗内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python内置函数bin() oct()等实现进制转换
Dec 30 Python
Python 爬虫爬取指定博客的所有文章
Feb 17 Python
python实现逻辑回归的方法示例
May 02 Python
Python 比较两个数组的元素的异同方法
Aug 17 Python
使用python 和 lint 删除项目无用资源的方法
Dec 20 Python
pycharm远程linux开发和调试代码的方法
Jul 17 Python
python使用udp实现聊天器功能
Dec 10 Python
Python 、Pycharm、Anaconda三者的区别与联系、安装过程及注意事项
Oct 11 Python
python+opencv实现车牌定位功能(实例代码)
Dec 24 Python
Python fileinput模块如何逐行读取多个文件
Oct 05 Python
python可视化 matplotlib画图使用colorbar工具自定义颜色
Dec 07 Python
去除python中的字符串空格的简单方法
Dec 22 Python
基于Python词云分析政府工作报告关键词
Jun 02 #Python
使用OpenCV获取图像某点的颜色值,并设置某点的颜色
Jun 02 #Python
如何利用python web框架做文件流下载的实现示例
Jun 02 #Python
python3+opencv 使用灰度直方图来判断图片的亮暗操作
Jun 02 #Python
Java多线程实现四种方式原理详解
Jun 02 #Python
Python+Kepler.gl轻松制作酷炫路径动画的实现示例
Jun 02 #Python
opencv+python实现鼠标点击图像,输出该点的RGB和HSV值
Jun 02 #Python
You might like
不错的一篇面向对象的PHP开发模式(简写版)
2007/03/15 PHP
PHP 一个比较完善的简单文件上传
2010/03/25 PHP
php中time()和mktime()方法的区别
2013/09/28 PHP
PHP递归删除目录几个代码实例
2014/04/21 PHP
php实现统计二进制中1的个数算法示例
2018/01/23 PHP
PHP使用PDO实现mysql防注入功能详解
2019/12/20 PHP
JavaScript实际应用:innerHTMl和确认提示的使用
2006/06/22 Javascript
js 解决“options为空或不是对象”
2008/12/22 Javascript
js自执行函数的几种不同写法的比较
2012/08/16 Javascript
让ie6也支持websocket采用flash封装实现
2013/02/18 Javascript
javascript异步编程的4种方法
2014/02/19 Javascript
基于jquery的手风琴图片展示效果实现方法
2014/12/16 Javascript
jQuery实现菜单感应鼠标滑动动画效果的方法
2015/02/28 Javascript
jQuery使用empty()方法删除元素及其所有子元素的方法
2015/03/26 Javascript
jquery使用slideDown实现模块缓慢拉出效果的方法
2015/03/27 Javascript
JS实现图片高亮展示效果实例
2015/11/24 Javascript
gulp-uglify 与gulp.watch()配合使用时报错(重复压缩问题)
2016/08/24 Javascript
JavaScript浮点数及运算精度调整详解
2016/10/21 Javascript
Ajax跨域实现代码(后台jsp)
2017/01/21 Javascript
jQuery中用on绑定事件时需注意的事项
2017/03/19 Javascript
nodejs实现套接字服务功能详解
2018/06/21 NodeJs
webpack dll打包重复问题优化的解决
2018/10/10 Javascript
Nodejs中怎么实现函数的串行执行
2019/03/02 NodeJs
jQuery 判断元素是否存在然后按需加载内容的实现代码
2020/01/16 jQuery
JavaScript undefined及null区别实例解析
2020/07/21 Javascript
[57:53]DOTA2上海特级锦标赛主赛事日 - 2 败者组第二轮#3OG VS VP
2016/03/03 DOTA
python实现k均值算法示例(k均值聚类算法)
2014/03/16 Python
python在Windows8下获取本机ip地址的方法
2015/03/14 Python
python中datetime模块中strftime/strptime函数的使用
2018/07/03 Python
使用python3调用wxpy模块监控linux日志并定时发送消息给群组或好友
2019/06/05 Python
阿迪达斯印度官方商城:adidas India
2017/03/26 全球购物
德国机车企业:FC-Moto
2017/10/27 全球购物
Kickers鞋英国官网:男士、女士和儿童鞋
2021/03/08 全球购物
能源工程专业应届生求职信
2014/03/01 职场文书
党的群众路线教育实践活动查摆问题及整改措施
2014/10/10 职场文书
离婚案件上诉状
2015/05/23 职场文书