python有哪些好玩的應用實現,用python爬蟲作一個二維碼生成器

python爬蟲不止能夠批量下載數據,還能夠有不少有趣的應用,以前也發過不少,好比天氣預報實時查詢、cmd版的實時翻譯、快速瀏覽論壇熱門帖等等,這些均可以算是爬蟲的另外一個應用方向!html

今天給你們分享一個二維碼生成器的爬蟲版本實現!python

爬蟲思路json

網上有不少的二維碼自動生成的網頁,它能夠將文本、名片、wifi分享等等都以二維碼的形式生成,只須要用帶有識別二維碼的app就能夠識別,好比手機瀏覽器通常就自帶app哦!瀏覽器

PS:這裏,普及一個很重要點,不要用帶有支付功能的app隨便掃碼(支付寶、微信等等)!!!不要用帶有支付功能的app隨便掃碼(支付寶、微信等等)!!!不要用帶有支付功能的app隨便掃碼(支付寶、微信等等)!!!重要的事情說三遍!服務器

那麼,咱們能夠找到一個網頁,經過requests的請求,去得到對方服務器生成的二維碼,達到咱們的目標!微信

大體流程是這樣的:app

請求URL==>構造請求表單==>得到服務器返回數據==>找到二維碼圖片地址==>下載圖片python爬蟲

代碼函數

代碼其實很簡單,短短20多行就能夠oop

比較複雜的部分就是裏面有幾個參數,背景顏色、大小、容錯率、形態等等,這裏是寫好的,也能夠作成可輸入的,這樣比較靈活!最後,把它們作成一個簡單的桌面程序

完整代碼:

import requests
from tkinter import *
from PIL import Image,ImageTk
def get_ewm():
	url = 'http://www.wwei.cn/qrcode-wwei_create.html'
	strs = entry.get()
	dat = {
		'data[text]':strs,
		'data[type]':'index',
		'level':'L',#容錯率 LMQH
		'moban_id':0,
		'qrid':0,
		'size':555,#圖像大小,單位px
		'style_setting[bcolor]':'# ffffff',
		'style_setting[fcolor]' : '# 000000',
		'style_setting[inptcolor]':  '# 000000',
		'style_setting[logo_border]': 0,
		'style_setting[logo_height]':46,
		'style_setting[logo_id]':'',
		'style_setting[logo_width]':46,
		'style_setting[mbtype_hb]':0,
		'style_setting[protype]':2,#圓點、直角、液態 0\1\2
		'style_setting[ptcolor]':'# 000000'}
	html = requests.post(url,data=dat).json()
	img_url =  html['png_url']
	with open('123.png','wb') as f:
		f.write(requests.get(img_url).content)
	load = Image.open('123.png')
	im1 = ImageTk.PhotoImage(load)
	label = Label(tk, image=im1,compound = 'bottom')
	label.image = im1
	label.grid(row=2,columnspan=6)
if __name__ == '__main__':
	tk = Tk()
	tk.title('二維碼生成器')
	tk.geometry('640x600+200+20')
	entry = Entry(tk, font=('微軟雅黑'),width=60)  # 建立輸入框
	entry.grid(row=1, column=4)  # 定位第1行3列
	str_b = Button(tk,text='生成二維碼',command=get_ewm)
	str_b.grid(row=1,column=5)
	tk.mainloop()

若是想製做其餘形式的,能夠在主函數中繼續添加entry控件接收參數,get_ewm()函數中自動調整相關參數就ok了!

相關文章
相關標籤/搜索