实验四20203112梁志鹏

课程:《Python程序设计》
班级: 2031
姓名:梁志鹏
学号:20203112
实验教师:王志强
实验日期:2021年5月24日
必修/选修: 公选课

1.实验内容

Python综合应用:爬虫、数据处理、可视化、机器学习、神经网络、游戏、网络安全等。

鉴于课程最后学习的网络爬虫技术,以及最近表情包资源稀缺,想到可用python实现网络爬虫对于图片的抓取。

2.实验过程及结果

构建一个网络爬虫程序,对小的易于爬取的表情包网站:https://www.fabiaoqing.com/

进行对于关键词搜索后的表情包的抓取并下载到本地所创建的“表情包”的文件夹中

文件格式为.jpg

文件名为:序号+原图片名称。

创建相应模块:

1.requests模块,用途:发送网络请求,并返回响应数据。

2.re模块,用途:通过正则表达式操作实现对文件名的更改。

3.os模块,用途:实现对文件夹的创建与文件操作。

代码如下:

 

 

 

 运行结果:

 

 

 

 3.实验过程中的问题与解决

1.创建模块失败

   由于python安装路径与pycharm不同,使用pip命令安装requests等模块时,未安装到python的根目录下,导致无法调用。

  

 

 #解决方法:在pycharm项目设置中更改解释器目录即可

  

 

 2.未加请求头导致网站爬取失败

#解决办法:增加浏览器请求头

 

 3.图片下载后保存路径出错,在目标文件夹里找不到图片且每次爬取完需重新搜索目标文件夹。

更改目标文件夹路径,将图片保存到程序所在文件夹。

......(此处省略n次报错)

 

最后将代码push到码云上:https://gitee.com/besti2021python/lzp203112/blob/master/%E5%AE%9E%E9%AA%8C%E5%9B%9B.py

## 其他(感悟、思考等)
1.学而时习之,实践是锻炼编程能力的最好途径,有问题要懂得自我找寻答案,百度是个好老师。

2.使用爬虫可以简便地实现许多简单而繁琐操作,作为面向对象的语言,轻巧的Python可以很好地实现许多有用的功能。

3.python的一大优势在于其丰富的资源库,对于模块的调用可以组合实现许多强大的功能。

4.每次的报错的解决可通过百度翻译或者百度搜索来实现。

5.对于模块的学习应用可以通过b站资源的教程来学习自己需要的模块。

## 参考资料

-  [《Java程序设计与数据结构教程(第二版)》](https://book.douban.com/subject/26851579/)

-  [《Java程序设计与数据结构教程(第二版)》学习指导](http://www.cnblogs.com/rocedu/p/5182332.html)
-  ...

 

posted @ 2021-06-30 22:54  kltxyyds  阅读(38)  评论(0编辑  收藏  举报