二皮脸data_2022年网络我的网络爬虫学习心得

1.简述本学期Python爬虫的心得

我从大二开始习python数据挖掘,用来处理数据,分析数据,当时的学习只是浅尝辄止,代码不多且不复杂。这学期又跟随杨鑫老师学习python的另一种用法,即网页爬虫通过向服务器发送请求获取服务器传回信息,再根据其提取所需的信息。原理虽然简单,但是涉及的细节非常多。在学习爬虫时,首先要自己配置爬虫的环境变量,遇到了各种问题,我在一次次报错中学习新的知识,累积到了不少的知识和经验。经过一学期的学习,我成功用scrapy框架爬下了作文网站,最后看自己的代码成功运行并且数据存储到mongdb的时候,我感受到了学以致用的快乐。

2.Python编程基础爬虫应用用到的pip模块

Pandas
Python Data Analysis Library 或 pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。pandas提供了大量能使我们快速便捷地处理数据的函数和方法。
BeautifulSoup
beautifulsoup是一个解析器,可以特定的解析出内容,省去了我们编写正则表达式的麻烦。是一个可以从HTML或XML文件中提取数据的Python库。它能够通过你喜欢的转换器实现惯用的文档导航,查找,修改文档的方式。
Numpy
NumPy是Python中科学计算的基础包。 它是一个Python库,提供多维数组对象,各种派生对象(如掩码数组和矩阵),以及用于数组快速操作的各种API,有包括数学、逻辑、形状操作、排序、选择、输入输出、离散傅立叶变换、基本线性代数,基本统计运算和随机模拟等等。 NumPy包的核心是 ndarray 对象。
requests requests是一个很实用的Python HTTP客户端库,编写爬虫和测试服务器响应数据时经常会用到,Requests是Python语言的第三方的库,专门用于发送HTTP请求
Urllib
urllib库是Python内置的HTTP请求库。urllib模块提供的上层接口,使访问www和ftp上的数据就像访问本地文件一样。
Pymysql
PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,Python2中则使用mysqldb。 PyMySQL 遵循 Python 数据库 API v2.0 规范,并包含了 pure-Python MySQL 客户端库。
Pymongo
pymongo是python访问MongoDB的模块,使用该模块,我们定义了一个操作MongoDB的类PyMongoClient,包含了连接管理、集合管理、索引管理、增删改查、文件操作、聚合操作等方法。
Scrapy
Scrapy是适用于Python的一个快速、高层次的屏幕抓取和web抓取框架,用于抓取web站点并从页面中提取结构化的数据。
Gerapy_auto_extractor
是一个基于 Scrapy、Scrapyd 的分布式爬虫管理框架,自动提取器模块。
gerapy 是一个分布式爬虫管理框架。能帮助我们更方便地控制爬虫运行,更直观地查看爬虫状态,更实时地查看爬取结果,更简单地实现项目部署,更统一地实现主机管理。
Scrapyd
Scrapyd是一个用来部署和运行Scrapy项目的应用,由Scrapy的开发者开发。其可以通过一个简单的Json API来部署(上传)或者控制你的项目。
Sqlalchemy
SQLAlchemy是 Python 编程语言下的一款开源软件。 提供了SQL工具包及 对象关系映射 (ORM)工具,使用 MIT许可证 发行。
Selenium
Selenium是一个用于Web应用程序测试的工具。

3.单个网页数据爬虫

在这里插入图片描述
结果:
在这里插入图片描述

4.多个站点循环爬取数据

Scrapy 框架由五大组件构成,如下:
Engine(引擎),整个 Scrapy 框架的核心,主要负责数据和信号在不同模块间传递。
Scheduler(调度器),用来维护引擎发送过来的 request 请求队列。
Downloader(下载器),接收引擎发送过来的 request 请求,并生成请求的响应对象,将响应结果返回给引擎。
Spider(爬虫程序) ,处理引擎发送过来的 response, 主要用来解析、提取数据和获取需要跟进的二级URL,然后将这些数据交回给引擎。
Pipeline(项目管道),用实现数据存储,对引擎发送过来的数据进一步处理,比如存 MySQL 数据库等。
在整个执行过程中,还涉及到两个 middlewares 中间件,分别是下载器中间件(Downloader Middlewares)和蜘蛛中间件(Spider Middlewares),它们分别承担着不同的作用:下载器中间件,位于引擎和下载器之间,主要用来包装 request 请求头,比如 UersAgent、Cookies 和代理 IP 等;蜘蛛中间件,位于引擎与爬虫文件之间,它主要用来修改响应对象的属性。
Scrapy 工作流程示意

  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 9
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值