python课程设计爬虫篇 您所在的位置:网站首页 网络爬虫系统课程设计 python课程设计爬虫篇

python课程设计爬虫篇

2023-09-04 09:13| 来源: 网络整理| 查看: 265

======================2021.7.3于杭州实习更新================================

!!!!!!!!!!!!代码已上传!!!!!!!!!!!!

代码版本有点多,不知道上传了那个版本,代码已经上传到github,

(后面会抽时间写仔细安装过程)

   

======================以下原回答================================

最近发现一个秘密,用python可以完成批量的诸如课程设计、学年设计、毕业论文模版,即从数据采集,数据分析,数据可视化,GUI界面等不同模块组合。下面介绍我自己写的一个简单例子。

一  摘要

        定向网络爬虫可以帮助人们快速地从庞大的互联网中获取特定的信息,是当今信息时代非常有用的助手。Python 是一门面向对象、解释型高级程序设计语言,语法简洁清晰,具有丰富强大的类库。本文通过使用Python爬虫技术实现淘宝商家信息的爬取,经过解析库的解析后把商家信息存储在Mongodb数据库中。

       为了应对淘宝网的反爬虫机制,为防止在爬取过程中因访问次数太频繁而出现IP被封的情况发生,本文爬取了66代理、快代理等代理网站,一共爬取了8000多条代理,存储在Redis数据库中,进一步构建了代理池,每一次爬取淘宝网时,只需从本地的IP池接口(基于Flask实现)拿到IP即可,从而大大增加了爬取淘宝商家信息的速度和数据量,实现了一个可靠,快速的定向爬虫。

      经过数据预处理后,本文对爬取到的每一种商品进行了可视化分析,如售价销售量散点图、各地区店铺数量图,商家广告信息词云图(基于自然语言处理)和城市销售量热力图等。为了给用户提供更好的交互性,本文用python传统的tkint编写了GUI界面,让用户操作更简单。同时,提供了栩栩如生的动态画面,用户可以轻易改变热力图显示区域,让淘宝商家信息尽在掌控之中。

二  完成效果 GUI界面(用户点击具体功能后即可实现对应功能):

也可当前查看代理:

部分代码:

实际完成用了2000多行。。。。。。。

数据可视化:

        用户可以调节左下边的热力图阈值,从而实现控制热力图所显示的省份数量,让更关心的省份“暴露”出来,让其他的省份“隐藏”起来。从上图我们可以看出篮球商品的店铺数量主要集中在东南沿海一带。

     蓝色代表该城市销售数量比较低,往红色方向代表销售量比较高。同时,当用户把鼠标放在该城市上时,将会显示出商品的具体销售量。用户也可以改变左下边热力图阈值,从而调节所显示的城市数量,进一步找出关心的城市。

词云图:

     进攻型”,“正品”,“耐打”,材质改良参考如“碳纤维”,“碳素”,同时也说明了消费者更倾向于买进攻性的羽毛球拍,在对羽毛球拍的质量上,消费者喜欢轻一点的。

城市销售量图:

具体如何爬取数据可以看我其他几篇pythn爬虫博客,都是属于简单,易操作的,不熟网友可以操作一下。

三  数据采集

     使用python爬虫采集,想做不同的课程设计需要爬取不同的数据内容,里面涉及具体的数据获取,代理池等内容,就不具体介绍了,这部分是最核心部分,决定了上面一层能做什么。可以看看数据库里面数据:

代理池:

Mongodb:

   爬取信息分为8大模块,分别为体育模块(有篮球,足球,羽毛球拍等);服装模块(有外衣,长裤,短袖等);数码模块(有充电宝,笔记本电脑,蓝牙等);美食模块(面包,樱桃,蛋糕等);家居模块(窗帘,沙发,椅子等),美妆模块(洗面奶,香水,沐浴露等);箱包模块(行李箱,书包,钱包等);植物花卉模块(牡丹,兰花,水生植物等).

    代理池接口界面太丑了,这里就不展示了。按照开始介绍的思路,从数据爬取到数据可视化,再到界面开发,还是可以对付课程设计之类的,当然还可以爬取图片,视频等做CV相关工作,网友有好的思路可以在下方留言,等时机成熟就把源码扔到github上(其实主要是当初写时编码风格太丑了,可读性不高,怕被骂,hhhhhhh)。最近做java爬虫,后期抽时间会改善。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有