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信息安全设计基础实验四报告 博客链接:信息安全设计基础实验
随机推荐
- Java中volatile关键字你真的理解了吗?
面:你怎样理解volatile关键字时? 我:不加思索的说出,volatile修饰的成员变量,可保证线程可见性.不保证原子性和禁止指令重排. 面:你能谈谈什么是线程可见性吗? 我:各个线程对主内存中共 ...
- 1Spring注入小结
Spring注入小结 (在Application.xml中) Spring学习笔记 周芋杉2021/5/14 1.基本注入类型注入 注入前的准备 <bean id="#配置文件的唯一标 ...
- Git安装教程最新版本(国内gitee国外github)
Git安装教程最新版本(国内gitee国外github) 欢迎关注博主公众号「Java大师」, 专注于分享Java领域干货文章, 关注回复「资源」, 获取大师使用的typora主题: http://w ...
- [bug] TypeError : unsupported operand type(s) for += : 'NoneType' and 'int'
原因 Flask购物网站中,每点击货物一次,数据库中货物的浏览次数+1,默认浏览次数为NULL,故无法完成运算 解决 将数据库中相应字段默认值设为0,注意要先断开数据库连接
- ltp
1.查找文件 find / -name 'filename' 1 2.查找目录 find / -name 'path' -type d 1 3.查找内容 # find .| xargs grep ...
- ansible-一键完成LNMP架构_期中架构
ansible-一键完成LNMP架构 ansible剧本托管地址 https://github.com/Gshelldong/ansible.git 网站架构图 ansible一键完成lnmp架构 a ...
- MyBatis 项目开发中是基于 XML 还是注解?
只要你对 MyBatis 有所认识和了解,想必知道 MyBatis 有两种 SQL 语句映射模式,一种是基于注解,一种是基于XML. 基于 XML <mapper namespace=" ...
- C语言练习题1(关于快速排序,二分查找与运行时间)
刚刚完成师兄给的一道题目: 随机生成10000位数,进行快速排序后,用二分查找法定位到某个要查询的数(键盘输入某个要查询的数), 结果输出查询的时间,以及是否查到 分享下自己的解题思路: 1,要懂得 ...
- Java设计模式(1:软件架构设计七大原则及开闭原则详解)
前言 在日常工作中,我们使用Java语言进行业务开发的时候,或多或少的都会涉及到设计模式,而运用好设计模式对于我而言,又是一个比较大的难题.为了解决.克服这个难题,笔主特别开了这个博客来记录自己学习的 ...
- 从性能角度帮你理解HTTP协议
因为做性能测试分析的人来说,HTTP 协议可能是绕不过去的一个槛.在讲 HTTP 之前,我们得先知道一些基本的信息. HTTP(HyperText Transfer Protocol,超文本传输协议) ...