TreeMind树图在线AI思维导图
当前位置:树图思维导图模板IT互联网产品结构第四章 爬虫动态加载数据思维导图

第四章 爬虫动态加载数据思维导图

  收藏
  分享
免费下载
免费使用文件
弓长-张 浏览量:52024-05-07 16:58:05
已被使用0次
查看详情第四章 爬虫动态加载数据思维导图

动态加载数据 数据库,请求页面等内容讲解

树图思维导图提供 第四章 爬虫动态加载数据 在线思维导图免费制作,点击“编辑”按钮,可对 第四章 爬虫动态加载数据  进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:6e54d0bf80b2448bbde4a782132fddfa

思维导图大纲

第四章 爬虫动态加载数据思维导图模板大纲

动态加数据概述

有时用户在使用 urlib 库或 requests 库爬取网页时,爬取到的结果可能和在浏览器中看到的不一样,在浏览器中正常显示的页面数据,在爬取到的结果中却没有。这是因为 urllib库或 requests 库发送请求返回的是网页源代码 (网页源代码中不包含由 JavaScript 动态加载的数据),而浏览器中的页面是经过 JavaScprit 动态加载的。下面以京东搜索“Python’ 网页为例来说明什么是动态加载数据。

逆向分析请求页面

分析页面

JavaScript动态加载数据一般使用Ajax 技术 (Ajax 指异步JavaScript和XML,是一种创建交互式、快速动态网页应用的网页开发技术),它通过在后台与服务器进行数据交换,实现网页的异步更新。在确认想要获取的网页数据是通过 Ajax 动态加载的,这时,可通过分析Ajax 请求获取真实的URL,然后使用 urllib 库或requests 库构造并发送同样的请求即可。

Selenium模拟浏览器

Selenium简介

实际动态网页中,很多Ajax 请求的参数是加密的,用户很难通过分析 Ajax 请求获取真实的URL,还有一些动态加载数据并不是 Ajax 生成的,此时,可以使用 Selenium 模拟浏览器的方法来获取网页动态加载和渲染的数据。 Selenium 是一个自动化测试工具,利用它可以驱动浏览器执行特定的动作(如单击输入等操作)。同时还可以获取浏览器当前呈现的页面内容,做到可见即可爬。Python 提供了 selenium 库来实现 Selenium 的操作,selenium 库不是 Python 内置的标准库,使用之前需要安装。

Selenium库的使用

selenium 库支持多种浏览器。例如,Google Chrome、Firefox、Edge 等网页浏览器,Android、BlackBerry 等手机端的浏览器以及 PhantomJS 无界面浏览器等。

存储数据至数据库

爬取到的数据不仅可以存储至文件,也可以存储至数据库。下面介绍两种常见的数据库,MySQL 和 MongoDB。MySOL 是关系型数据库,它将数据保存在不同的二维表中,表中每一列是一个字段,每一行是一条记录;MongoDB 是非关系型文档数据库,其数据存储形式类似JSON 对象,它的字段可以包含其他文档、数组及文档数组,形式非常灵活

MySQL数据库

pymysql 库提供 connect0方法连接数据库,其方法原型如下:connect(host,port,user, password,db,charset,connect timeout,use unicode) (1)host: 数据库地址,本机地址通常为 127.0.0.1,也可设置为 localhost,默认为None。 (2) port: 数据库端口,通常为 3306,默认为0。 (3)user:数据库用户名,管理员用户为 root,默认为 None。 (4)password:表示数据库密码,默认为 None。 (5)db:表示数据库库名,无默认值。 (6)charset: 表示插入数据库时的编码,默认为 None。 (7)connect timeout: 表示连接超时时间,以秒为单位,默认为 10。(8)use unicode:表示结果以unicode 字符串的格式返回,默认为 None。

MongoDB数据库

pymongo 库使用MongoClient 类连接数据库,须指定连接的数据库地址(如localhost)和端口(默认为 27017),返回 MongoClient 对象。使用 MongoClient 对象选择数据库,语法格式为“对象.数据库名”(也可写为“对象[“数据库名]”),如果数据库不存在则新建一个数据库,返回 Database 对象。使用 Database 对象选择集合,语法格式为“对象集合名”(也可写为“对象[“集合名’]”),如果集合不存在则新建一个集合,返回 Collection 对象。

本章小结

1.动态加载数据的爬取方法有逆向分析请求页面和 Selenium 模拟浏览器两种

2.逆向分析请求页面需要分析加载出页面的真实请求,然后构造并发送同样的请求,

3.Selenium 是一个自动化测试工具,利用它可以驱动浏览器执行特定的动作。

4.Python 提供selenium 库来实现 Selenium 模拟浏览器的操作。

5.pymysql 库通过执行 SOL 语实现连接、创建、插入、更新、删除和查询 MySOL数据库的功能。

6.pymongo 库提供了连接、创建、插入、修改、删除、排序和查询 MongoDB 数据库的方法。

相关思维导图模板

1113爆卡会总结会会议纪要思维导图

树图思维导图提供 1113爆卡会总结会会议纪要 在线思维导图免费制作,点击“编辑”按钮,可对 1113爆卡会总结会会议纪要  进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:aaf6c152a765d5821e8e1787f2b3226e

埃隆·马斯克的商业版图思维导图

树图思维导图提供 埃隆·马斯克的商业版图 在线思维导图免费制作,点击“编辑”按钮,可对 埃隆·马斯克的商业版图  进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:7464362ac911e8a334867bb3fc7a2346