文章目录
- 一、前言
- 二、pip模块
- 1.pandas
- 2.numpy
- 3.urllib
- 4.pymongo
- 5.json
- 6.scrapy
- 7.requests
- 8.sqlalchemy
- 三、网页数据爬取
一、前言
作为一名大数据管理与应用专业的学生,经过一学期的网络爬虫学习,我意识到在生活中或是未来工作中,网络爬虫是我可以利用的一种高效工具。网络爬虫技术在科学研究、Web安全、产品研发等方面都起着重要作用。在数据处理方面,如果没有数据就可以通过爬虫从网上筛选抓取自己想要的数据。并且伴随着网络技术的发展,我们早已进入信息爆炸的时代,面对繁冗的数据,我们很难从里面提取到有价值的数据,为了解决传统人工收集数据的不便的问题,通过利用爬虫技术就可以轻松找到自己想要的数据。在本学期的学习中虽然遇到了很多困难,通过一次次的纠正,不断地找出问题所在,最后解决问题。这仿佛是一条登山之路,比起唾手可得的成功,向上攀登的路程更加令我振奋,我相信这也是学习爬虫技术的意义之一。
二、pip模块
1.pandas
pandas是Python的一个数据分析包,其纳入了大量库和一些数据模型,提供了操作大型数据的集所需要的工具。它可以帮助清理数据并且处理数据,提供了大量能使我们快速便捷地处理数据的函数和方法。
2.numpy
NumPy(Numeric Python)提供了许多高级的数值编程工具,如:矩阵数据类型、矢量处理,以及精密的运算库。专为进行严格的数字处理而产生。很多计算机软件包都用numpy数组为操作对象。Numpy支持常见的数组和矩阵操作。对于同样的数值计算任务,使用Numpy比直接使用Python要简洁的多。Numpy使用ndarray对象来处理多维数组,该对象是一个快速而灵活的大数据容器。
3.urllib
urllib库最大的作用就是可以去设定相关的头部信息然后和网站建立请求连接,请求连接建立完成后就能够去获取到网页的整体数据了,这也是python爬虫脚本实现的核心。同时urllib库还可以去访问到网页的robots.txt文件从而得知这网页的访问规则是什么,能够在在抓取数据返回之后对数据进行相关的解析。
4.pymongo
一个mongodb中可以建立多个数据库。mongodb的单个实例可以容纳多个独立的数据库,每一个都有自己的集合和权限,不同的数据库也放置在不同的文件中。
5.json
json主要用来数据传输,是一种取代xml的数据结构,可以方便阅读和编写,同时也便于机器进行解析和生成。
6.scrapy
scrapy是适用于Python的一个高层次的屏幕抓取和网站抓取框架,用于抓取网站站点并从页面中提取机构化的数据。可用于数据监测、数据挖掘等方面。
7.requests
requests库的主要作用就是和网页进行连接,根据使用方法的不同从而 进行不同的操作处理。
8.sqlalchemy
sqlalchemy是Python编程语言下的一款orm框架,此框架建立在数据库api之上,使用关系对象映射进行数据库操作。通过使用描述对象和数据库之间映射的元数据,将面向对象语言程序中的对象自动持久化到关系数据库中。
三、网页数据爬取
流程
1.搭建scrapy环境
2.配置items、pipelines、middlewares、settings四文件,添加mongodb数仓设置。
3.编辑执行网络爬虫文件。
代码
1.配置items文件,使用简单的类定义语法和Field 对象来声明要抓取的内容。
1. title = scrapy.Field() #文章标题
2. url = scrapy.Field() #文章链接
3. date = scrapy.Field() #发布日期
4. content = scrapy.Field() #文章正文
5. site = scrapy.Field() #网站名
6. item = scrapy.Field() #类别
7. student_id = scrapy.Field() #学生学号姓名
2.配置middlewares文件。
1. #调取配置信息
2. from scrapy.downloadermiddlewares.useragent import UserAgentMid