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程序设计》实验四报告的更多相关文章

  1. Python程序设计实验报告四:循环结构程序设计(设计型实验)

    安徽工程大学 Python程序设计 实验报告 班级   物流191   姓名  姚彩琴  学号3190505129 成绩 日期     2020.4.8     指导老师       修宇 [实验名称 ...

  2. 20184302 2019-2020-2 《Python程序设计》实验四报告

    20184302 2019-2020-2 <Python程序设计>实验四报告 课程:<Python程序设计> 班级: 1843 姓名: 李新锐 学号:184302 实验教师:王 ...

  3. 20192204 2019-2020-2 《Python程序设计》实验四报告

    20192204 2019-2020-2 <Python程序设计>实验四报告 课程:<Python程序设计> 班级: 1922 姓名: 李龙威 学号:20192204 实验教师 ...

  4. Python程序设计实验报告二:顺序结构程序设计(验证性实验)

      安徽工程大学 Python程序设计 实验报告 班级   物流191   姓名  崔攀  学号3190505136 成绩 日期     2020.3.22     指导老师       修宇 [实验 ...

  5. Python程序设计实验报告一:熟悉IDLE和在线编程平台

    安徽工程大学 Python程序设计 实验报告 班级   物流191   姓名  崔攀  学号3190505136 成绩_____           日期     2020.3.8     指导老师  ...

  6. Python程序设计实验报告三:分支结构程序设计

    安徽工程大学 Python程序设计 实验报告 班级   物流191   姓名  姚彩琴  学号3190505129 成绩 日期     2020.4.5     指导老师       修宇 [实验目的 ...

  7. PYTHON程序设计实验

    Python程序设计实验报告一: 熟悉IDLE和在线编程平台 安徽工程大学 Python程序设计实验报告 班级 物流191 姓名 邹缕学号 3190505117成绩 ▁▁▁ 日期 2020.3.5 指 ...

  8. Python程序设计 实验 1 熟悉 IDLE 和在线编程平台

    ------------恢复内容开始------------ 安徽工程大学 Python程序设计 实验报告 班级   物流191   姓名  姚彩琴  学号3190505129 成绩 日期     2 ...

  9. 20145204&20145212信息安全系统实验四报告

    20145204信息安全设计基础实验四报告 博客链接:信息安全设计基础实验

随机推荐

  1. unbuntu下清理磁盘空间

    把很多大文件删除,并清空回收站后,发现可用存储空间并没增大,如图: 用find /home -size +500k 过滤出大于500k bytes的文件,发现原来删除的yuv文件都被置于.cache目 ...

  2. Java项目中每一个类都可以有一个main方法

    Java项目中每一个类都可以有一个main方法,但只有一个main方法会被执行,其他main方法可以对类进行单元测试. public class StaticTest { public static ...

  3. 【vue2】(一)基础使用

    [vue2](一)基础使用 MVVM MVVM: View - Model - ViewModel View: Dom层,视图层 Model: Plain JavaScript Objects,数据层 ...

  4. JAVA并发(2)-ReentrantLock的见解

    上节,我们讲了AQS的阻塞与释放实现原理,线程间通信(Condition)的原理.这次,我们就讲讲基于AQS实现的ReentrantLock(重入锁). 1. 介绍 结合上面的ReentrantLoc ...

  5. head元素的内容

    一.head元素 head元素的内容用来向浏览器提供一些文档信息,此外还可以包含js脚本和css层叠样式单.head中一般包含title.meta.css.js等内容,head中元素的内容在浏览器中不 ...

  6. 用nvm的方式安装node

    一.nvm简介 Node Version Manager(Node版本管理工具)由于以后的开发工作可能会在多个Node版本中测试,而且Node的版本也比较多,所以需要这么款工具来管理.   nvm的安 ...

  7. 【IBM】netperf 与网络性能测量

    netperf 与网络性能测量 汤凯2004 年 7 月 01 日发布 WeiboGoogle+用电子邮件发送本页面 2 在构建或管理一个网络系统时,我们更多的是关心网络的可用性,即网络是否连通,而对 ...

  8. Ansible_管理playbook实现配置并行

    一.使用forks在Ansible中配置并行 1.Aniable运行play机制 1️⃣:当Ansible处理playbook时,会按顺序运行每个play.确定play的主机列表之后,Ansible将 ...

  9. 040.Python进程和Join

    一  进程相关介绍 1.1 进程的概念(process) 进程就是正在运行的程序,它是操作系统中,资源分配的最小单位 资源分配:分配的是cpu和内存等物理资源 进程号是程的唯标识 同-个程序执行两次之 ...

  10. git/repo常用命令

    Git作为广受欢迎的一款版本控制工具,它该如何通过命令行使用呢?本文为你揭晓浓缩精华精华版:git常用命令一览,含部分repo操作. 代码下载 repo init -- -->初始化需要下载的分 ...