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信息安全设计基础实验四报告 博客链接:信息安全设计基础实验
随机推荐
- Beta——事后分析
事后总结 NameNotFound 团队 项目 内容 北航-2020-软件工程(春季学期) 班级博客 要求 Beta事后分析 课程目标 通过团队合作完成一个软件项目的开发 会议截图 一.设想和目标 软 ...
- CRM系统实施中如何避免“踩雷”
CRM系统实施后,效果没有达到预期是很多企业出现的情况.而最主要的原因就是在实施之前没有足够的思考和相应的计划.那么,企业应如何避免CRM系统实施时"踩雷"?这里有几条建议希望可以 ...
- Pytorch多卡训练
前一篇博客利用Pytorch手动实现了LeNet-5,因为在训练的时候,机器上的两张卡只用到了一张,所以就想怎么同时利用起两张显卡来训练我们的网络,当然LeNet这种层数比较低而且用到的数据集比较少的 ...
- 攻防世界(十)NewsCenter
攻防世界系列 :NewsCenter 方法一 1.打开题,看到搜索框首先想到的是sql注入 2.检查注入点 -1' union select 1,2,3# 存在注入漏洞 3.查库 附:Sql注入常见语 ...
- nginx rewite重定向详解及实例解析
静态和动态最大的区别是是否调用数据库. 什么是rewrite 将浏览器发送到服务器的请求重写,然后再返回给用户. 就是修改url,提高用户体验 rewrite的用途 80强转443 (优化用户体验) ...
- 11.20 yum:自动化RPM包管理工具
yum(Yellow dog Updater Modified)是多个Linux发行版的软件包管理器,例如Redhat RHEL.CentOS和Fedora.yum主要用于自动安装.升级rpm软件包, ...
- Centos6.5 修改主机名(hostname)
centos6需要修改两处:一处是/etc/sysconfig/network,另一处是/etc/hosts,只修改任一处会导致系统启动异常.首先切换到root用户. /etc/sysconfig/n ...
- IDEA 最实用快捷键【MAC版本】
目录 option + F7 Ctrl + B / Ctrl +鼠标左键(一键两用,可以无限循环的跳过来跳过去,我跳过去了,我又跳回去了) command + E (这个快捷键很有用,为什么我老是用不 ...
- 初遇SpringBoot踩坑与加载静态文件遇到的坑
SpringBoot开发 创建SpringBoot项目 大家都知道SpringBoot开发非常快,创建SpringBoot项目时,勾上SpringW ...
- 『言善信』Fiddler工具 — 3、Fiddler界面布局详解【菜单栏】
目录 (一)Fiddler界面布局介绍 (二)菜单栏 1.File文件菜单: 2.Edit编辑菜单: 3.Rules规则菜单: 4.Tools工具菜单: 5.View视图菜单: 6.Help帮助菜单: ...