python有哪些好玩的应用实现,用python爬虫做一个二维码生成器

匿名 (未验证) 提交于 2019-12-02 22:56:40
python爬虫不止可以批量下载数据,还可以有很多有趣的应用,之前也发过很多,比如天气预报实时查询、cmd版的实时翻译、快速浏览论坛热门帖等等,这些都可以算是爬虫的另一个应用方向!
今天给大家分享一个二维码生成器的爬虫版本实现!

爬虫思路
网上有很多的二维码自动生成的网页,它可以将文本、名片、wifi分享等等都以二维码的形式生成,只需要用带有识别二维码的app就可以识别,比如手机浏览器一般就自带app哦!
PS:这里,普及一个很重要点,不要用带有支付功能的app随便扫码(支付宝、微信等等)!!!不要用带有支付功能的app随便扫码(支付宝、微信等等)!!!不要用带有支付功能的app随便扫码(支付宝、微信等等)!!!重要的事情说三遍!
那么,我们可以找到一个网页,通过requests的请求,去获得对方服务器生成的二维码,达到我们的目标!
大致流程是这样的:
请求URL==>构造请求表单==>获得服务器返回数据==>找到二维码图片地址==>下载图片

代码
代码其实很简单,短短20多行就可以

比较复杂的部分就是里面有几个参数,背景颜色、大小、容错率、形态等等,这里是写好的,也可以做成可输入的,这样比较灵活!最后,把它们做成一个简单的桌面程序

完整代码:
 1 import requests  2 from tkinter import *  3 from PIL import Image,ImageTk  4 def get_ewm():  5     url = http://www.wwei.cn/qrcode-wwei_create.html  6     strs = entry.get()  7     dat = {  8         data[text]:strs,  9         data[type]:index, 10         level:L,#容错率 LMQH 11         moban_id:0, 12         qrid:0, 13         size:555,#图像大小,单位px 14         style_setting[bcolor]:# ffffff, 15         style_setting[fcolor] : # 000000, 16         style_setting[inptcolor]:  # 000000, 17         style_setting[logo_border]: 0, 18         style_setting[logo_height]:46, 19         style_setting[logo_id]:‘‘, 20         style_setting[logo_width]:46, 21         style_setting[mbtype_hb]:0, 22         style_setting[protype]:2,#圆点、直角、液态 0\1\2 23         style_setting[ptcolor]:# 000000} 24     html = requests.post(url,data=dat).json() 25     img_url =  html[png_url] 26     with open(123.png,wb) as f: 27         f.write(requests.get(img_url).content) 28     load = Image.open(123.png) 29     im1 = ImageTk.PhotoImage(load) 30     label = Label(tk, image=im1,compound = bottom) 31     label.image = im1 32     label.grid(row=2,columnspan=6) 33 if __name__ == __main__: 34     tk = Tk() 35     tk.title(二维码生成器) 36     tk.geometry(640x600+200+20) 37     entry = Entry(tk, font=(微软雅黑),width=60)  # 创建输入框 38     entry.grid(row=1, column=4)  # 定位第1行3列 39     str_b = Button(tk,text=生成二维码,command=get_ewm) 40     str_b.grid(row=1,column=5) 41     tk.mainloop()

如果想制作其他形式的,可以在主函数中继续添加entry控件接收参数,get_ewm()函数中自动调整相关参数就ok了!

原文:https://www.cnblogs.com/qun542110741/p/9346079.html

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!