20201123 《python程序设计》实验四报告
20201123 2020-2021-2 《python程序设计》实验三报告
课程:《Python程序设计》
班级:2011
姓名:晏鹏捷
学号:20201123
实验教师:王志强
实验日期:2021年6月29日
必修/选修:公选课
一、实验内容
Python综合应用:爬虫、数据处理、可视化、机器学习、神经网络、游戏、网络安全
本次实验:爬虫豆瓣上关于搜索“张紫宁”的前三十条内容
二、实验要求
(1)程序能运行,功能丰富(需求提交源代码,并建议录制程序运行的视频)
(2)综合实践报告,要体现实验分析、设计、实现过程、结果等信息,格式规范,逻辑清晰,结构合理
(3)在实践报告中,需要对全课进行总结,并写课程感想体会、意见和建议等
三、实验过程
1、搭建环境
建库requests和lxml

此时requests下出现一条红线,按“Alt+Enter”,选择“install package requests”,进行安装

安装成功所示

“lxml”操作方式同“requests”,完成后如图

2、获取网页源代码
网页地址:https://www.douban.com/search?cat=1003&q=%E5%BC%A0%E7%B4%AB%E5%AE%81

3、获取目标数据
打开目标网页

点击鼠标右键点击审查元素

定位网页内容,代码标蓝区域在相同搜索内容中也标蓝,点击右键“复制”“复制x path”


得到下图,附带代码解释

查看代码,进行代码完善


此时代码只包含了一条选中内容
试运行完整代码,未成功,结果如下

进行网页搜索错误后修改代码,寻找并添加headers

运行结果如下
四、遇到问题和解决过程


错误:打漏了“//*”,小细节修改

未添加防止反爬机制函数def,进行添加
五、感悟思考
1、一直对python和Java充满兴趣,想深入学习应用。虽然作为大一新生刚接触程序设计,但基本的语言还是能够掌握的,特别是python相对来说更加简明快捷,更容易理解,编写时也相对顺手方便。很荣幸遇到王老师引导python入门,不是单纯的概念讲解和理论知识灌输,而是推荐我们边听边跟着打,不仅加深记忆,也能更快抓住要点。
2、四次实验报告其实在课上的讲解不多,更多的是自己在网上查找资料进行学习编写,而且网上的代码总会有一些小错误,即使我们使用也需要自己修改运行,这样我们也不会轻松完成作业,大大锻炼我的自学能力和debug能力,学会发现了很多的程序错误语言,例如本次的“invalid expression”等,为以后我们自己编写运行程序积累知识
3、在实验过程中,如果不够细心或者知识点掌握不牢固的话,会遇到许多的小错误需要修改,因此会花费不少的时间和精力。本人的耐心其实原本是没有很好的,但是经过这么多次的实验,能够沉稳的面对每一次运行时出现的错误并修改,而不是最开始的崩溃和急躁,所以我也学会了,要细心和耐心地学会程序编写。
六、 参考资料
https://blog.csdn.net/weiweiweiweia/article/details/87833704
https://docs.python-requests.org/zh_CN/latest/user/quickstart.html
https://blog.csdn.net/IT_XF/article/details/82184585
https://www.cnblogs.com/itworkers/p/13469527.html
https://blog.csdn.net/lm3758/article/details/82911636
20201123 《python程序设计》实验四报告的更多相关文章
- Python程序设计实验报告四:循环结构程序设计(设计型实验)
安徽工程大学 Python程序设计 实验报告 班级 物流191 姓名 姚彩琴 学号3190505129 成绩 日期 2020.4.8 指导老师 修宇 [实验名称 ...
- 20184302 2019-2020-2 《Python程序设计》实验四报告
20184302 2019-2020-2 <Python程序设计>实验四报告 课程:<Python程序设计> 班级: 1843 姓名: 李新锐 学号:184302 实验教师:王 ...
- 20192204 2019-2020-2 《Python程序设计》实验四报告
20192204 2019-2020-2 <Python程序设计>实验四报告 课程:<Python程序设计> 班级: 1922 姓名: 李龙威 学号:20192204 实验教师 ...
- Python程序设计实验报告二:顺序结构程序设计(验证性实验)
安徽工程大学 Python程序设计 实验报告 班级 物流191 姓名 崔攀 学号3190505136 成绩 日期 2020.3.22 指导老师 修宇 [实验 ...
- Python程序设计实验报告一:熟悉IDLE和在线编程平台
安徽工程大学 Python程序设计 实验报告 班级 物流191 姓名 崔攀 学号3190505136 成绩_____ 日期 2020.3.8 指导老师 ...
- Python程序设计实验报告三:分支结构程序设计
安徽工程大学 Python程序设计 实验报告 班级 物流191 姓名 姚彩琴 学号3190505129 成绩 日期 2020.4.5 指导老师 修宇 [实验目的 ...
- PYTHON程序设计实验
Python程序设计实验报告一: 熟悉IDLE和在线编程平台 安徽工程大学 Python程序设计实验报告 班级 物流191 姓名 邹缕学号 3190505117成绩 ▁▁▁ 日期 2020.3.5 指 ...
- Python程序设计 实验 1 熟悉 IDLE 和在线编程平台
------------恢复内容开始------------ 安徽工程大学 Python程序设计 实验报告 班级 物流191 姓名 姚彩琴 学号3190505129 成绩 日期 2 ...
- 20145204&20145212信息安全系统实验四报告
20145204信息安全设计基础实验四报告 博客链接:信息安全设计基础实验
随机推荐
- unbuntu下清理磁盘空间
把很多大文件删除,并清空回收站后,发现可用存储空间并没增大,如图: 用find /home -size +500k 过滤出大于500k bytes的文件,发现原来删除的yuv文件都被置于.cache目 ...
- Java项目中每一个类都可以有一个main方法
Java项目中每一个类都可以有一个main方法,但只有一个main方法会被执行,其他main方法可以对类进行单元测试. public class StaticTest { public static ...
- 【vue2】(一)基础使用
[vue2](一)基础使用 MVVM MVVM: View - Model - ViewModel View: Dom层,视图层 Model: Plain JavaScript Objects,数据层 ...
- JAVA并发(2)-ReentrantLock的见解
上节,我们讲了AQS的阻塞与释放实现原理,线程间通信(Condition)的原理.这次,我们就讲讲基于AQS实现的ReentrantLock(重入锁). 1. 介绍 结合上面的ReentrantLoc ...
- head元素的内容
一.head元素 head元素的内容用来向浏览器提供一些文档信息,此外还可以包含js脚本和css层叠样式单.head中一般包含title.meta.css.js等内容,head中元素的内容在浏览器中不 ...
- 用nvm的方式安装node
一.nvm简介 Node Version Manager(Node版本管理工具)由于以后的开发工作可能会在多个Node版本中测试,而且Node的版本也比较多,所以需要这么款工具来管理. nvm的安 ...
- 【IBM】netperf 与网络性能测量
netperf 与网络性能测量 汤凯2004 年 7 月 01 日发布 WeiboGoogle+用电子邮件发送本页面 2 在构建或管理一个网络系统时,我们更多的是关心网络的可用性,即网络是否连通,而对 ...
- Ansible_管理playbook实现配置并行
一.使用forks在Ansible中配置并行 1.Aniable运行play机制 1️⃣:当Ansible处理playbook时,会按顺序运行每个play.确定play的主机列表之后,Ansible将 ...
- 040.Python进程和Join
一 进程相关介绍 1.1 进程的概念(process) 进程就是正在运行的程序,它是操作系统中,资源分配的最小单位 资源分配:分配的是cpu和内存等物理资源 进程号是程的唯标识 同-个程序执行两次之 ...
- git/repo常用命令
Git作为广受欢迎的一款版本控制工具,它该如何通过命令行使用呢?本文为你揭晓浓缩精华精华版:git常用命令一览,含部分repo操作. 代码下载 repo init -- -->初始化需要下载的分 ...