利用python来使复杂的url变苗条,四步到位!

今天这篇文章中我要向你展示我们如何利用python来使复杂的url变得苗条。首先明确一下,我们并不是自己做一个url缩址服务,而是要利用tinyurl api(Tinyurl可以提供缩略网址服务)。

更多Python视频、源码、资料加群683380553免费获取

tinyurl没有发布过任何官方的的python api,所以我们从此开始:

第一步

首先我们要进行一些调用。我们需要调用七个库来完成这项工作。

利用python来使复杂的url变得苗条,S级的身材,四步到位!

 

也许我们仅导入一个库就可以完成这项工作,但是为了做一个更好的url缩址,最好还是导入七个。

第二步

现在我们开始用一种方法处理url缩址。请仔细看代码,代码很简单不言而喻。但我接下来还是会说明一下。

利用python来使复杂的url变得苗条,S级的身材,四步到位!

 

 

你理解了吗?我来给新手解释一下。首先我们定义了一个make_tiny函数,它可以把一个url作为输入。然后我们开始定义函数如何工作。url_code把一个url作为输入然后将其编码,也就是将其加密。然后我们将这个加密的url添加到tinyurl api的url尾部。我们打开request_url,使用urlopen函数。最后我们将返回值转化为utf-8,并阅读它。为什么要转化?因为urlopen函数返回的是比特流而不是字符串。所以为了打印或者修改,我们需要将其转换成字符串。很简单对吧?

下一步是从用户那里获取输入。我们使用sys库。

第三步

让我们为我们的代码敲上main()函数。代码如下:

利用python来使复杂的url变得苗条,S级的身材,四步到位!

 

 

我们要做什么?我们在利用sys.argv来获取用户输入。我们没有限制自己只能输入一个url,而是想输入多少url就可以输入多少,然后可以把它们都缩短。sys.argv[1:]做的是除最开始两个参数(从0开始)外,将剩余的参数产生一个list。举个例子,如果你这样输入:

利用python来使复杂的url变得苗条,S级的身材,四步到位!

 

 

然后sys.argv[1:]会跳过python 和script.py,然后产生下面这个list:

利用python来使复杂的url变得苗条,S级的身材,四步到位!

 

 

等等!那这个map()函数在这里做什么呢?大多数新手会感到困惑,是因为他们大多数从来没使用过map。map()是一个循环list的简单方式,把其中内容一个接一个传递给函数。上面的map()函数等价如下:

利用python来使复杂的url变得苗条,S级的身材,四步到位!

 

 

我希望上述代码已经解释清楚了关于map()函数的任何疑惑。

第四步:

现在让我们来包装我们的代码。剩下的唯一一件事就是:

利用python来使复杂的url变得苗条,S级的身材,四步到位!

 

 

把这个加到你代码的末尾。这会告诉我们什么时候脚本会被独立于shell执行,什么时候会被另一个脚本调用。如果你想在其他项目中使用这个脚本,这样做会非常方便。

最后,这是完整的代码:

利用python来使复杂的url变得苗条,S级的身材,四步到位!

 

如果你已经保存了这个脚本为url_shortener.py,你可以在shell中这样运行它:

利用python来使复杂的url变得苗条,S级的身材,四步到位!

 

如果你想保存这些tinyurls在txt文档里,就执行这行命令:

利用python来使复杂的url变得苗条,S级的身材,四步到位!

 

我希望你能喜欢今天的推送。这个脚本在python2 和 python3中都可以运行。它主要针对两种人,第一种是学习python并希望制作一个简单却有用的脚本的人,还有那些希望学会如何在python中制作url网址缩略的人。到此为止关于url缩址的用法就讲解完啦,希望对你有所帮助。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值