python 爬虫简介

爬虫是什么?

就是一段可以帮助人类浏览网页/app/小程序并且从网页/app/小程序中抽取所需数据的代码

为什么需要爬虫?爬虫的用途?为什么用python?

1. 自动化获取数据,减少人力
2. 解决大数据数据源的问题
3. 数据分析与数据挖掘的数据源
4. 搜索引擎需要采集数据作为数据源  百度   谷歌
5. 胶水语言 调用各种库 其他语言(java php js)

爬虫的分类

1. 通用爬虫(大而全)
		功能强大,采集面广,用于搜索引擎
2. 聚焦爬虫(小而精)
		功能单一(只针对特定网站,特点数据的采集),99%的爬虫
3. 增量式爬虫(只采集更新数据)
		一定有区分新老数据的区别

君子协议

1. 在网站的根目录(域名)下,放置一个robots.txt文件,在文件中,规定爬虫可以采集哪些数据,不能采集哪些数据
	注意:君子协议,从技术上不做限制,如果不遵守君子协议,采集的数据如果用于商用,且是竞品,做好被告的准备,如果没有君子协议,默认可以全采集。如果不用于商用,基本不用考虑

爬虫的原理以及流程

1. 一切以数据为导向
2. 请求---响应

常见的反爬

UA检测、cookie验证、验证码、滑块验证码、ip代理、多账号、js逆向、app逆向

高阶爬虫所具备的技术

Python+Js(js逆向) + IP代理池 +java(app逆向)+算法AI(验证码图像识别 rnn循环神经网络)
爬虫的效率问题:
单线程(阻塞),多线程(并不是真正意义上的并行,由于GIL锁),多进程(并行)和协程(非阻塞,异步 并发)
实际任务中多采用  多线程+异步  分布式
Python GIL锁
	Cpython(解释器c语言实现部分)进程与其运行文件所产生的主进程是一个进程(文件进程相当于Cpython的一个线程)
	线程的特点是数据资源是共享的,而多个线程又都要共享Cpython的解释权限,共享意味着竞争,有竞争数据就不安全,
	所以Cpython的GIL锁(Cpython的一个线程)
	就产生了,根本作用是,当python文件中的线程想要执行其代码,必须获得GIL权限,否则不能执行,
	所以cpu的多核优势也没有了,除非多开Cpython解释器或多进程,否则同时只能运行一个线程

爬虫程序(通用步骤)

1. 如何发一个get请求
在python内置包urllib的request的包里的urlopen方法
2. 如何发一个post请求
在urlopen方法中传入data参数
3. 如何解析响应
	1. html
	第三方的类库lxml  cpython编写  效率快  可以解析html,xml
	pip install lxml
	from lxml import etree
	使用xpath语法来获取数据
		1. 基本语法
            nodename    获取对应的标签
            //          从根目录开始选择
            @属性名      获取属性值
            /           表示从当前对象开始选择
            []          筛选元素
		2. 内置函数
			text()	   获取标签内的文本数据
	    3. 元素选择
	        |      多个xpath一起使用 
	        and    选择元素的时候使用,表示并且
	        or     选择元素的时候使用,表示或者
	2. json
	3. IO流

采集贝壳二手房

需求:采集贝壳全国二手房
思路:
1. 构造列表页的请求
	1. 自动更换城市
	2. 自动翻页
	3. 代码异常的处理(不是所有请求都能发送成功)
	4. 采集进度的记录(断点续传)
2. 处理列表页的响应
	抽取详情页的url
3. 发送详情页请求  直接发请求
4. 处理详情页的响应  xpath解析

python拓展(应用方向)

Python方向
自动化测试、运维
	Selenium、requests
Web开发
	Python 有很多现成的 Web 开发框架,几行代码就能生成一个功能齐全的 Web 服务。
	比较著名的就是 Django 和 Flask。
	Django 集成的功能更多,开箱即用,好比全副武装的战士。
	Flask 轻量快速,只包含核心功能,其他都需要自行扩展,好比轻装上阵的刺客。
	例子:
		1.国内--豆瓣、知乎、春雨医生、拉钩
		2.国外--NASA:美国航天局(NASA)大量使用Python进行数据分析和运算,YouTube:世界上最大的视频网站YouTube,Facebook:大量的基础库均通过Python实现,
	现在国内外已经有许多使用Python进行Web开发的企业。不过,使用Python做Web开发,主要都是为了能够快速开发对并发量要求不是特别高的应用。
Python数据分析、挖掘
	Python数据分析需要安装的第三方扩展库有:
		1.Numpy:Python没有提供数组功能,Numpy可以提供数组支持以及相应的高效处理函数,是Python数据分析的基础
		2.Pandas:Pandas可使Python中处理数据非常快速和简单
		3.SciPy:是一组专门解决科学计算中各种标准问题域的包的集合,包含的功能有最优化、线性代数、积分、插值、拟合、特殊函数、快速傅里叶变换、信号处理和图像处理、常微分方程求解和其他科学与工程中常用的计算等,这些对数据分析和挖掘十分有用。
		4.Matplotlib:是强大的数据可视化工具和作图库,是主要用于绘制数据图表的Python库,提供了绘制各类可视化图形的命令字库、简单的接口,可以方便用户轻松掌握图形的格式,绘制各类可视化图形。
		5.Scikit-Learn:是Python常用的机器学习工具包,提供了完善的机器学习工具箱,支持数据预处理、分类、回归、聚类、预测和模型分析等强大机器学习库,其依赖于Numpy、Scipy和Matplotlib等。
		6.Keras:是深度学习库,人工神经网络和深度学习模型,基于Theano(Theano是一个Python库,可以在CPU或GPU上运行快速数值计算。 这是Python深度学习中的一个关键基础库)之上,依赖于Numpy和Scipy,利用它可以搭建普通的神经网络和各种深度学习模型,如语言处理、图像识别、自编码器、循环神经网络、递归审计网络、卷积神经网络等。(TensorFlow的高阶封装,还有一个更加高级的框架CAFFE,据说很厉害。)
		7.Gensim:是用来做文本主题模型的库,常用于处理语言方面的任务,支持TF-IDF、LSA、LDA和Word2Vec在内的多种主题模型算法,支持流式训练,并提供了诸如相似度计算、信息检索等一些常用任务的API接口。
		8.Scrapy:是专门为爬虫而生的工具,具有URL读取、HTML解析、存储数据等功能,可以使用Twisted异步网络库来处理网络通讯,架构清晰,且包含了各种中间件接口,可以灵活的完成各种需求。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
用户画像作为大数据的根基,它抽象出一个用户的信息全貌,为进一步精准、快速地分析用户行为习惯、消费习惯等重要信息,提供了足够的数据基础,奠定了大数据时代的基石。 用户画像,即用户信息标签化,就是企业通过收集与分析消费者社会属性、生活习惯、消费行为等主要信息的数据之后,抽象出一个用户的商业全貌作是企业应用大数据技术的基本方式。用户画像为企业提供了足够的信息基础,能够帮助企业快速找到精准用户群体以及用户需求等更为广泛的反馈信息。 用户画像系统能很好地帮助企业分析用户的行为与消费习惯,可以预测商品的发展的趋势,提高产品质量,同时提高用户满意度。构建一个用户画像,包括数据源端数据收集、数据预处理、行为建模、构建用户画像。有些标签是可以直接获取到的,有些标签需要通过数据挖掘分析到!本套课程会带着你一步一步的实现用户画像案例,掌握了本套课程内容,可以让你感受到Flink+ClickHouse技术架构的强大和大数据应用的广泛性。 在这个数据爆发的时代,像大型电商的数据量达到百亿级别,我们往往无法对海量的明细数据做进一步层次的预聚合,大量的业务数据都是好几亿数据关联,并且我们需要聚合结果能在秒级返回。 包括我们的画像数据,也是有这方便的需求,那怎么才能达到秒级返回呢?ClickHouse正好满足我们的需求,它是非常的强大的。 本课程采用Flink+ClickHouse技术架构实现我们的画像系统,通过学习完本课程可以节省你摸索的时间,节省企业成本,提高企业开发效率。希望本课程对一些企业开发人员和对新技术栈有兴趣的伙伴有所帮助,如对我录制的教程内容有建议请及时交流。项目中采用到的算法包含Logistic Regression、Kmeans、TF-IDF等,Flink暂时支持的算法比较少,对于以上算法,本课程将带大家用Flink实现,并且结合真实场景,学完即用。系统包含所有终端的数据(移动端、PC端、小程序端),支持亿级数据量的分析和查询,并且是实时和近实时的对用户进行画像计算。本课程包含的画像指标包含:概况趋势,基础属性,行为特征,兴趣爱好,风险特征,消费特征,营销敏感度,用户标签信息,用户群里,商品关键字等几大指标模块,每个指标都会带大家实现。课程所涵盖的知识点包括:开发工具为:IDEA FlinkClickhouseHadoopHbaseKafkaCanalbinlogSpringBootSpringCloudHDFSVue.jsNode.jsElemntUIEcharts等等 课程亮点: 1.企业级实战、真实工业界产品 2.ClickHouse高性能列式存储数据库 3.提供原始日志数据进行效果检测 4.Flink join企业级实战演练 5.第四代计算引擎Flink+ClickHouse技术架构6.微服务架构技术SpringBoot+SpringCloud技术架构7.算法处理包含Logistic Regression、Kmeans、TF-IDF等8.数据库实时同步落地方案实操9.统计终端的数据(移动端、PC端、小程序端) 10.支撑亿级海量数据的用户画像平台11.实时和近实时的对用户进行画像计算12.后端+大数据技术栈+前端可视化13.提供技术落地指导支持 14.课程凝聚讲师多年实战经验,经验直接复制15.掌握全部内容能独立进行大数据用户平台的设计和实操企业一线架构师讲授,代码在老师的指导下企业可以复用,提供企业解决方案。  版权归作者所有,盗版将进行法律维权。 

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值