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开发的小球完全弹性碰撞游戏代码
Oct 15 Python
python处理文本文件实现生成指定格式文件的方法
Jul 31 Python
Python random模块常用方法
Nov 03 Python
Python的collections模块中namedtuple结构使用示例
Jul 07 Python
用python写个自动SSH登录远程服务器的小工具(实例)
Jun 17 Python
Scrapy框架CrawlSpiders的介绍以及使用详解
Nov 29 Python
python 获取微信好友列表的方法(微信web)
Feb 21 Python
Python+Tensorflow+CNN实现车牌识别的示例代码
Oct 11 Python
Jupyter打开图形界面并画出正弦函数图像实例
Apr 24 Python
Keras Convolution1D与Convolution2D区别说明
May 22 Python
Python进行特征提取的示例代码
Oct 15 Python
虚拟环境及venv和virtualenv的区别说明
Feb 05 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巧获服务器端信息
2006/12/06 PHP
Codeigniter中禁止A Database Error Occurred错误提示的方法
2014/06/12 PHP
PHP laravel中的多对多关系实例详解
2017/06/07 PHP
PHP使用星号替代用户名手机和邮箱的实现代码
2018/02/07 PHP
Laravel框架在本地虚拟机快速安装的方法详解
2018/06/11 PHP
PHP基于ip2long实现IP转换整形
2020/12/11 PHP
JavaScript去除空格的几种方法
2006/10/03 Javascript
Prototype 学习 工具函数学习($w,$F方法)
2009/07/12 Javascript
浅析hasOwnProperty方法的应用
2013/11/20 Javascript
nodejs npm install全局安装和本地安装的区别
2014/06/05 NodeJs
IE中JS跳转丢失referrer问题的2个解决方法
2014/07/18 Javascript
jquery插件tytabs.jquery.min.js实现渐变TAB选项卡效果
2015/08/25 Javascript
JavaScript遍历Json串浏览器输出的结果不统一问题
2016/11/03 Javascript
vue keep-alive请求数据的方法示例
2018/05/16 Javascript
详解vue项目中如何引入全局sass/less变量、function、mixin
2018/06/02 Javascript
详解用vue2.x版本+adminLTE开源框架搭建后台应用模版
2019/03/15 Javascript
layui实现数据表格隐藏列的示例
2019/10/25 Javascript
微信小程序vant弹窗组件的实现方式
2020/02/21 Javascript
Python 提取dict转换为xml/json/table并输出的实现代码
2016/08/28 Python
使用Kivy将python程序打包为apk文件
2017/07/29 Python
Python学习之Anaconda的使用与配置方法
2018/01/04 Python
Python爬虫实现获取动态gif格式搞笑图片的方法示例
2018/12/24 Python
python处理multipart/form-data的请求方法
2018/12/26 Python
对pytorch的函数中的group参数的作用介绍
2020/02/18 Python
python GUI库图形界面开发之PyQt5输入对话框QInputDialog详细使用方法与实例
2020/02/27 Python
Django values()和value_list()的使用
2020/03/31 Python
HTML5 拖拽批量上传文件的示例代码
2018/03/28 HTML / CSS
如何让Java程序执行效率更高
2014/06/25 面试题
亲戚结婚的请假条
2014/02/11 职场文书
竞聘自述材料
2014/08/25 职场文书
建设办主任四风问题整改思路和措施
2014/09/20 职场文书
国家领导干部党的群众路线教育实践活动批评与自我批评材料
2014/09/23 职场文书
2014年残联工作总结
2014/11/21 职场文书
员工2014年度工作总结
2014/12/09 职场文书
大学运动会通讯稿
2015/07/18 职场文书
2015年语言文字工作总结
2015/07/23 职场文书