写脚本的一点心得

t2.jpg

一直以来都有个想法,用支持hive的库实现自动收获reward和自动点赞脚本。想了一年多了没有行动,最近终于开始写了。首先查了一下支持hive的库有好几个,语言支持的种类有python, javascript, ruby,php等等。这里面我最熟悉的是python,于是就使用python的库beem

文档也写的挺详细,我找到想要支持功能的API描述,有详细的解释和示例代码。很快脚本雏形就写出来了。自动收获reward比较简单,一会就调试好了。当写到自动点赞功能时遇到了错误,试了几次都没调通。

我觉得有点奇怪,明明是拷贝文档的示例代码怎么会出错呢,除非是示例代码有问题。我搜了下错误信息,网上有遇到相同的错误的人,同时我也找到调用库的错误代码行处。但是网上的解决方法有些不适用于我的问题,如果按照网上方法直接删除对应代码肯定会造成调用库运行不正确。

后来我又看到有些人说是python2和python3不兼容的问题,这就更让我疑惑了。因为beem库说明了最低支持版本是python3.5.x,我的版本是python3.10,按理说是兼容的。为此我想到把python3.10降到python3.5,不过做起来有些麻烦,而且会影响到已经用当前python版本跑起来的脚本。

我就这么天马行空的想了大半天,然后有时间又仔细运行检查了一次,发现是一个参数输入有问题。参数接收输入类型是字符串,而我给输入的是数组。我马上把参数类型改了过来,在运行一次果然成功了。原来不是python版本问题或者文档示例代码不正确,是我自己使用API传入不正确的参数。

这其实是个相当低级的错误,在遇到问题时候被我忽略了,想象不到我居然会犯这么简单的错误。这次给我提了个醒,以后写脚本在遇到错误时,先从最简单的地方入手,检查预置条件是否正确,把这些简单问题排查后再定位是否有其它错误。如果能做到这一点,就能减少许多不必要的麻烦,提高开发效率。