基于星战的数据可视化过程中遇到的一些问题

最近忙着实训,在做一个基于星战的可视化项目,主要是跟着Eastmount老师做的,从他身上学到很多。

跟着Eastmount做这个项目之前,必须要学习一些Python的基础语法知识,另外,因为Eastmount老师也是借鉴了一下张宏伦老师的网易云课程(星球系列电影),所以如果有必要的话,建议大家去深入学习一下张宏伦老师的课程。

在进行学习的过程中,我不可避免的遇到了一些问题,在这里和大家分享一下,这样大家以后就不会踩雷了。

注意,张宏伦老师的星战项目是基于的Python2.7的,而Eastmount是基于的pyton3做的,因此建议大家下一下的Anaconda2和3。

1、

在做实战篇一的时候,会发现数据有的时候的会抓取不成功,即抓取的时候会突然断开,

例如我在爬取电影中所有实体的时候遇到的情况:

例如:
在这里插入图片描述
仅仅爬取到第十个人物的时候就终止了。

这是因为网站有**反爬原理,**阻止了你的请求,特别是如果你在爬取数据的时候间隔过短,那么网站就会认为你攻击它,进而封禁你的IP,这个时间大概是一小时左右,也可能更长,所以需要让线程休息几分钟之后再爬取。

最后:

每个实体的信息大小有不同,所以在爬取的时候如果间隔时间比较久的话,不要担心,有可能只是这个数据量比较大而已

2、

有一点极为重要,便是python特别依赖第三方库,因此导入第三方库的过程特别重要。

而这个问题在做实战二的时候集中爆发了,在柱状图的绘制中,因为要调用诸如barplot()函数等一系列第三方函数,所以不可避免的要是用pin install命令来下载第三方库。

但是问题就出在这里。

在这里Eastmount使用了matplotlib.pyplot、seaborn、pandas三个第三方库。

第一个第三方库matplotlib是Python中类似 MATLAB 的绘图工具,很容易就下载好了,没有问题。

到第二个seaborn的时候,噩梦开始了,刚开始好好地,能下载,但是后面就会突然中断。

当时忘记截图,这张图的是网上找的,但是错误原因是一样的。

raise ReadTimeoutError(self._pool, None, 'Read timed out.')
pip._vendor.requests.packages.urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host='pypi.python.org', port=443): Read timed out.

这个时候有两种办法

第一种是修改超时时间

pip --default-timeout=1000 install -U pip

第二种也是我自己的采用的办法,那就是手动下载安装包,

这里推荐给大家一个网站

https://www.lfd.uci.edu/~gohlke/pythonlibs/

挺方便的,按ctrl+f搜索你想要的包就行了,然后在本地安装。

至于pandas,则是大同小异。

另外,如果可以的话尽量在管理员的命令窗口执行命令,这样可以大大减少出错的概率

(往日经历,近皆是泪…)

对了,还有一件事,我回过头重新梳理项目是发现的,如果你以上的内容都照做了,并且成功的安装了,发现仍旧是报错。
在这里插入图片描述

不要怕,大概率是因为你安装了多个版本的python3,可能你的第三方库是安装在python3.6的文件夹中,但是你在pycharm中使用的编译器却是python3.7,这样的话就会出现以上的情况,替换过来就好了。

3、

在实战三布置html的时候,由于要引用第三方库,也就是d3库(这是一个十分强悍的库),出现了一些问题,,显示

There is no locally stored library for the HTTP link. 

1561463895601

后来百度一搜终于找到了方法。

在你报错的句子上面按Alt+Enter,会弹出一个小框,然后点击’Suppress for tag’ 就可以把文件下载到本地,然后用cdn加速的时候就不会报错了。

4、

此外,在使用Apach通过浏览器后台查看starwar_alldata.json的数据结构的过程中,我有想过自己的端口8080会被占用,因为这个问题已经出现了很多次(装了oracle就会出现这个情况),完全在我的预料之中。

但是没想到,除了8080,443,3306也都被占用,而在Eastmount的网页中只提供了80端口的修改方法,我一时诚惶诚恐。

不过我想了想,端口的修改大同小异,

在这里插入图片描述

因为每个端口所在的文件位置是不同的,点击config文件依次寻找,便能找到,(在寻找的过程中务必使用ctrl+f)快捷键,这样可以最大化的避免遗漏,也能节省时间。

5、

其次,在实战第三篇,当我们利用Xampp在本地的localhost/KG/文件夹内访问主页面的时候,切记,不能使用Chrome进行访问,会出现如下的情况,这是因为浏览器本身的配置所引起的。

如图:
在这里插入图片描述

这个时候,我们可以使用Firefox来运行,便会发现一切都正常了。
在这里插入图片描述

6、

实战4和实战5讲的都是html,我本来以为自己有了一定的前端基础,理解起来会简单一些,

不过发现自己想的还是太简单了。

别的不说,因为无法在pycharm中直接浏览网页,所以当我将第五章的网页粘贴到D:\Xampp\htdocs\KG目录下执行时,发现了如下的情况。
在这里插入图片描述

顿时汗如雨下。。。。。。

这么多被丢弃的是什么鬼…

惊恐之余遂立即请教百度君。

层式样式表本来就是要这样用了,用较大的冗余去兼容各个浏览器。

写 css 时为了兼容更多的浏览器,会加一些私有属性。私有属性只有相应的浏览器能识别,其他不识别的浏览器直接丢弃那句样式。

这是百度的一些网友给出的解释,心中顿时明了。

总结:

经过了这短短的五个网页的学习,我深深地知道了自己在编程方面的浅薄无知,于此同时,这也更加坚定了我努力学习编程的决心。

而且,最重要的是,“知识图谱”这四个在我眼中原本极为高远且深不可测的四个字如今渐渐有了轮廓。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值