项目17 Python综合项目实战(课件)-高二《程序设计基础(Python)》同步教学(电子工业版)

2023-07-31
| 32页
| 209人阅读
| 33人下载
普通

内容正文:

项目17 Python综合项目实战 编程基础——Python语言     /// /// Python是目前使用最广泛且用户增长最快的编程语言。优雅简洁的语法、强大的第三方库支持等都是Python能够风靡各行各业的原因,激起了全民学习Python的热潮,各大出版社纷纷推出了Python学习的相关图书。本节我们就使用Python爬虫技术爬取华信教育资源网的图书信息,并将爬取的图书信息保存到Excel文件中。 任务31 爬取网站图书信息并保存到文件 任务描述 编程基础——Python语言     /// /// 任务分析 (1)首先分析华信教育资源网图书信息页面。访问华信教育资源网首页,在首页搜索栏中输入“Python”关键字,搜索到的Python图书页面如图8-1所示。 (2)打开谷歌浏览器,单击鼠标右键查看源码,可以发现其中并没有搜索的Python图书相关信息。在谷歌浏览器中的Network选项下选择XHR选项卡,在该选项卡中单击页面中的getBookSearchList.html,在选项卡中可以发现搜索的Python图书相关信息保存在getBookSearchList.htm页面响应信息中,请求数据num的值表示的是搜索页的分页页码,如图8-2所示。 编程基础——Python语言     /// /// 图8-2 相关信息 图8-1 搜索Python图书 编程基础——Python语言     /// /// (3)通过以上分析,下面就可以使用requests库来获取图书相关信息,使用xlsxwriter库将图书相关信息写入Excel表格中,具体步骤如下。 ① 由于使用了第三方模块requests库和xlsxwriter库,所以要事先使用pip命令安装第三方模块。安装方式如下: pip install requests #安装requests库 pip install xlsxwriter #安装xlsxwriter库 ② 在程序中导入需要使用的库,具体代码如下: import requests import xlsxwriter ③ 实现爬取方法。首先使用requests库发送POST请求,获取当前页面的图书信息,并使用json格式数据,然后再使用xlsxwriter库将获取的当前页面的信息写入Excel表格中。最后依次遍历每一页的图书信息。 编程基础——Python语言     /// /// 知识准备 网络爬虫又称网络蜘蛛、网络蚂蚁、网络机器人等,可以自动浏览网络中的信息。浏览信息时需要按照制定的规则进行,这些规则称为网络爬虫算法。使用Python可以很方便地编写爬虫程序,以进行互联网信息的自动检索。 搜索引擎离不开爬虫,如百度搜索引擎的爬虫叫作百度蜘蛛(Baiduspider)。百度蜘蛛每天都会在海量的互联网信息中进行爬取,以爬取优质信息并进行收录,当用户在百度搜索引擎上检索对应的关键词时,百度将对关键词进行分析处理,从收录的网页中找出相关网页,按照一定的排名规则进行排序,并将结果展示给用户。 在抓取资源的过程中,需要使用URL做资源定位,URL(Uniform Resource Locators,统一资源定位符)是对可以从互联网上得到资源位置和访问方法的一种简洁的表示,是互联网上标准资源的地址,也就是我们所说的网址。 8.1 什么是爬虫 编程基础——Python语言     /// /// 爬虫的原理是,从一个起始种子链接开始,发送http请求链接,从而得到该链接中的内容,然后正则匹配页面里的有效链接,并将这些链接保存到待访问队列中,等待爬取线程爬取这个待访问队列。为了有效减少不必要的网络请求,一旦链接已访问,就把已访问的链接放到已访问Map中,以防止重复爬取和死循环。更复杂的爬虫实现,需要使用代理服务器、伪装成浏览器、登录和提取验证码等技术手段。这里面有两个概念,一个是发送http请求,另一个是正则匹配感兴趣的链接。 8.2 爬虫的原理 图8-3 网络爬取步骤流程图 编程基础——Python语言     /// /// 在Python中,用几行程序就可以实现最基本的网络爬取,只需要使用目前常用的第三方模块requests库即可。以爬取百度网为例,示例代码如下; 8.3 基本方法 import requests r=requests.get('http://www.baidu.com') print(r.status_code) print(r.text) 执行结果如图8-4所示。 图8-4 执行结果 编程基础——Python语言     /// /// 方 法 说 明 requests.request( ) 构造一个请求,这是支撑以下各种方法的基础方法

资源预览图

项目17  Python综合项目实战(课件)-高二《程序设计基础(Python)》同步教学(电子工业版)
1
项目17  Python综合项目实战(课件)-高二《程序设计基础(Python)》同步教学(电子工业版)
2
项目17  Python综合项目实战(课件)-高二《程序设计基础(Python)》同步教学(电子工业版)
3
项目17  Python综合项目实战(课件)-高二《程序设计基础(Python)》同步教学(电子工业版)
4
项目17  Python综合项目实战(课件)-高二《程序设计基础(Python)》同步教学(电子工业版)
5
项目17  Python综合项目实战(课件)-高二《程序设计基础(Python)》同步教学(电子工业版)
6
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。