網(wǎng)站性能檢測(cè)評(píng)分
注:本網(wǎng)站頁(yè)面html檢測(cè)工具掃描網(wǎng)站中存在的基本問(wèn)題,僅供參考。
python3小程序
使用python編寫計(jì)算工時(shí)的小程序~ 小程序視頻課程
現(xiàn)在學(xué)習(xí)python的小伙伴越來(lái)越多,對(duì)python有興趣的朋友,可以在平時(shí)的生活和工作中多寫一點(diǎn)對(duì)自己有用或者有趣的小程序來(lái)方便自己,同時(shí)也能提高自己對(duì)python的興趣和編程能力。
小編所在公司是彈性工作制,因此一到月底就想看看自己的工時(shí)還夠不夠,會(huì)不會(huì)浪的時(shí)間太長(zhǎng)導(dǎo)致工時(shí)不夠被扣工資,如果不夠的話還可以趁著月底最后幾天抓緊補(bǔ)時(shí)長(zhǎng)。
那么該怎么寫這個(gè)腳本呢,主要思路是這樣的:首先把你的oa記錄填寫到一個(gè)文件中,然后通過(guò)python的strip和split功能將每天的起始打卡時(shí)間和最后打卡時(shí)間做一個(gè)差值,得到每天的分鐘數(shù),然后將每天的分鐘數(shù)相加就是這個(gè)月你實(shí)際的工作時(shí)長(zhǎng),然后跟你需要的時(shí)長(zhǎng)做對(duì)比。
這樣做還比較簡(jiǎn)陋,我們還可以加上一些復(fù)雜的情況比如請(qǐng)假,加班,調(diào)休等等,這個(gè)就因人而異啦。是不是很簡(jiǎn)單?趕緊動(dòng)手操作一下吧!
附上我的部分源碼:
import time
f = open('G:\pylearn\list.txt')
for line in f.readlines():
a = line.strip().split()
b = a[4]
c = b.split('||')
stime = a[3] + ' ' + c[0]
etime = a[3] + ' ' + c[-1]
sarray = time.strptime(stime, "%Y-%m-%d %H:%M:%S")
earray = time.strptime(etime, "%Y-%m-%d %H:%M:%S")
sstamp = time.mktime(sarray)
estamp = time.mktime(earray)
diff = estamp - sstamp
diffarray
免費(fèi)干貨分享!Python爬蟲源代碼-pycharm激活碼-幾十套小程序源碼 小程序視頻課程
Spider又叫WebCrawler或者Robot,是一個(gè)沿著鏈接漫游Web 文檔集合的程序。它一般駐留在服務(wù)器上,通過(guò)給定的一些URL,利用HTTP等標(biāo)準(zhǔn)協(xié)議讀取相應(yīng)文檔,然后以文檔中包括的所有未訪問(wèn)過(guò)的URL作為新的起點(diǎn),繼續(xù)進(jìn)行漫游,直到?jīng)]有滿足條件的新URL為止。WebCrawler的主要功能是自動(dòng)從Internet上的各Web 站點(diǎn)抓取Web文檔并從該Web文檔中提取一些信息來(lái)描述該Web文檔,為搜索引擎站點(diǎn)的數(shù)據(jù)庫(kù)服務(wù)器追加和更新數(shù)據(jù)提供原始數(shù)據(jù),這些數(shù)據(jù)包括標(biāo)題、長(zhǎng)度、文件建立時(shí)間、HTML文件中的各種鏈接數(shù)目等。
...
作為一種便捷地收集網(wǎng)上信息并從中抽取出可用信息的方式,網(wǎng)絡(luò)爬蟲技術(shù)變得越來(lái)越有用。使用Python這樣的簡(jiǎn)單編程語(yǔ)言,你可以使用少量編程技能就可以爬取復(fù)雜的網(wǎng)站。
《用Python寫網(wǎng)絡(luò)爬蟲》作為使用Python來(lái)爬取網(wǎng)絡(luò)數(shù)據(jù)的杰出指南,講解了從靜態(tài)頁(yè)面爬取數(shù)據(jù)的方法以及使用緩存來(lái)管理服務(wù)器負(fù)載的方法。此外,本書還介紹了如何使用AJAX URL和Firebug擴(kuò)展來(lái)爬取數(shù)據(jù),以及有關(guān)爬取技術(shù)的更多真相,比如使用瀏覽器渲染、管理cookie、通過(guò)提交表單從受驗(yàn)證碼保護(hù)的復(fù)雜網(wǎng)站中抽取數(shù)據(jù)等。本書使用Scrapy創(chuàng)建了一個(gè)高級(jí)網(wǎng)絡(luò)爬蟲,并對(duì)一些真實(shí)的網(wǎng)站進(jìn)行了爬取。
。。。
首先從互聯(lián)網(wǎng)頁(yè)面中精心選擇一部分網(wǎng)頁(yè),以這些網(wǎng)頁(yè)的鏈接地址作為種子URL,將這些種子URL放入待抓取URL隊(duì)列中,爬蟲從待抓取URL隊(duì)列依次讀取,并將URL通過(guò)DNS解析,把鏈接地址轉(zhuǎn)換為網(wǎng)站服務(wù)器對(duì)應(yīng)的IP地址。
然后將其和網(wǎng)頁(yè)相對(duì)路徑名稱交給網(wǎng)頁(yè)下載器,網(wǎng)頁(yè)下載器負(fù)責(zé)頁(yè)面內(nèi)容的下載。對(duì)于下載到本地的網(wǎng)頁(yè),一方面將其存儲(chǔ)到頁(yè)面庫(kù)中,等待建立索引等后續(xù)處理;另一方面將下載網(wǎng)頁(yè)的URL放入已抓取URL隊(duì)列中,這個(gè)隊(duì)列記載了爬蟲系統(tǒng)已經(jīng)下載過(guò)的網(wǎng)頁(yè)URL,以避免網(wǎng)頁(yè)的重復(fù)抓取。對(duì)于剛下載的網(wǎng)頁(yè),從中抽取出所包含的所有鏈接信息,并在已抓取URL隊(duì)列中檢查,如果發(fā)現(xiàn)鏈接還沒(méi)有被抓取過(guò),則將這個(gè)URL放入待抓取URL隊(duì)列末尾,在之后的抓取調(diào)度中會(huì)下載這個(gè)URL對(duì)應(yīng)的網(wǎng)頁(yè)。如此這般,形成循環(huán),直到待抓取URL隊(duì)列為審,這代表著爬蟲系統(tǒng)已將能夠抓取的網(wǎng)頁(yè)盡數(shù)抓完,此時(shí)完成了一輪完整的抓取過(guò)程。
Scrapy,Python開(kāi)發(fā)的一個(gè)快速、高層次的屏幕抓取和web抓取框架,用于抓取web站點(diǎn)并從頁(yè)面中提取結(jié)構(gòu)化的數(shù)據(jù)。Scrapy用途廣泛,可以用于數(shù)據(jù)挖掘、監(jiān)測(cè)和自動(dòng)化測(cè)試。
Scrapy吸引人的地方在于它是一個(gè)框架,任何人都可以根據(jù)需求方便的修改。它也提供了多種類型爬蟲的基類,如BaseSpider、sitemap爬蟲等,最新版本又提供了web2.0爬蟲的支持。
Scrap,是碎片的意思,這個(gè)Python的爬蟲框架叫Scrapy。
小刮刮是一個(gè)為遍歷爬行網(wǎng)站、分解獲取數(shù)據(jù)而設(shè)計(jì)的應(yīng)用程序框架,它可以應(yīng)用在廣泛領(lǐng)域:數(shù)據(jù)挖掘、信息處理和或者歷史片(歷史記錄)打包等等
Even though Scrapy was originally designed for screen scraping (more precisely, web scraping), it can also be used to extract data using APIs (such as Amazon Associates Web Services) or as a general purpose web crawler.
盡管小刮刮原本是設(shè)計(jì)用來(lái)屏幕抓取(更精確的說(shuō),是網(wǎng)絡(luò)抓取)的目的,但它也可以用來(lái)訪問(wèn)API來(lái)提取數(shù)據(jù),比如Amazon的AWS或者用來(lái)當(dāng)作通常目的應(yīng)用的網(wǎng)絡(luò)蜘蛛
The purpose of this document is to introduce you to the concepts behind Scrapy so you can get an idea of how it works and decide if Scrapy is what you need.
如何開(kāi)始
當(dāng)你準(zhǔn)備啟動(dòng)一個(gè)項(xiàng)目時(shí),可以從這個(gè)教程開(kāi)始
折疊選擇網(wǎng)站
選擇一個(gè)網(wǎng)站
如果你需要從某個(gè)網(wǎng)站提取一些信息,但是網(wǎng)站不提供API或者其他可編程的訪問(wèn)機(jī)制,那么小刮刮可以幫助你(提取信息)
讓我們看下Mininova網(wǎng)站,需要提取的網(wǎng)址,名稱,描述和torrent文件的大小、添加日期
下面這個(gè)列表是所有今天新增的torrents文件的頁(yè)面:參考擴(kuò)展閱讀1
備注:torrent是洪流的意思,這里指bit torrent,比特洪流,就是我們常說(shuō)的BT文件
折疊定義數(shù)據(jù)
定義你要抓取的數(shù)據(jù)
第一件事情就是定義你要抓取的數(shù)據(jù),在小刮刮這個(gè)是通過(guò)定義Scrapy Items來(lái)實(shí)現(xiàn)的(本例是BT文件)
這就是要定義的Item
折疊撰寫蜘蛛
撰寫一個(gè)蜘蛛來(lái)抓取數(shù)據(jù)
Urllib 模塊提供了讀取web頁(yè)面數(shù)據(jù)的接口,我們可以像讀取本地文件一樣讀取www和ftp上的數(shù)據(jù)。首先,我們定義了一個(gè)getHtml()函數(shù):
urllib.urlopen()方法用于打開(kāi)一個(gè)URL地址。
read()方法用于讀取URL上的數(shù)據(jù),向getHtml()函數(shù)傳遞一個(gè)網(wǎng)址,并把整個(gè)頁(yè)面下載下來(lái)。執(zhí)行程序就會(huì)把整個(gè)網(wǎng)頁(yè)打印輸出。
下一步是寫一個(gè)指定起始網(wǎng)址的蜘蛛(參考擴(kuò)展閱讀1),包含follow鏈接規(guī)則和數(shù)據(jù)提取規(guī)則
如果你看一眼頁(yè)面內(nèi)容,就會(huì)發(fā)現(xiàn)所有的torrent網(wǎng)址都是類似:參考擴(kuò)展閱讀2的樣子,其中Number是一個(gè)整數(shù),我們將用正則表達(dá)式,例如/tor/d+.來(lái)提取規(guī)則
我們將使用Xpath,從頁(yè)面的HTML Source里面選取要要抽取的數(shù)據(jù),選取眾多數(shù)據(jù)頁(yè)面中的一個(gè),例如參考閱讀3
根據(jù)頁(yè)面HTML 源碼,建立XPath,選取:torrent name, description , size,這些數(shù)據(jù)。
運(yùn)行蜘蛛來(lái)抓取數(shù)據(jù)
最后,我們運(yùn)行蜘蛛來(lái)爬取這個(gè)網(wǎng)站,輸出為json格式scraped_data.json
scrapy crawl 參考閱讀4 -o scraped_data.json -t json
這個(gè)使用了feed exports,來(lái)生成json格式,當(dāng)然,你可以很簡(jiǎn)單的更改輸出格式為csv,xml,或者存儲(chǔ)在后端(ftp或者Amazon S3)
你也可以寫一段item pipeline,把數(shù)據(jù)直接寫入數(shù)據(jù)庫(kù),很簡(jiǎn)單
Review一下抓取的數(shù)據(jù)
查看一下數(shù)據(jù):scraped_data.json,內(nèi)容大致如下
[{"url": "參考閱讀2", "name": ["Home[2009][Eng]XviD-ovd"], "description": ["HOME - a documentary film by ..."], "size": ["699.69 megabyte"]}, # ... other items ... ]
關(guān)注一下數(shù)據(jù),你會(huì)發(fā)現(xiàn),所有字段都是lists(除了url是直接賦值),這是因?yàn)閟electors返回的就是lists格式,如果你想存儲(chǔ)單獨(dú)數(shù)據(jù)或者在數(shù)據(jù)上增加一些解釋或者清洗,可以使用Item Loaders
折疊更多
你也看到了如何使用小刮刮從一個(gè)網(wǎng)站提取和存儲(chǔ)數(shù)據(jù),但,這只是表象,實(shí)際上,小刮刮提供了許多強(qiáng)大的特性,讓它更容易和高效的抓取:
1>內(nèi)建 selecting and extracting,支持從HTML,XML提取數(shù)據(jù)
2>內(nèi)建Item Loaders,支持?jǐn)?shù)據(jù)清洗和過(guò)濾消毒,使用預(yù)定義的一個(gè)過(guò)濾器集合,可以在所有蜘蛛間公用
3>內(nèi)建多格式generating feed exports支持(JSON, CSV, XML),可以在后端存儲(chǔ)為多種方式(FTP, S3, local filesystem)
4>針對(duì)抓取對(duì)象,具有自動(dòng)圖像(或者任何其他媒體)下載automatically downloading images的管道線
5>支持?jǐn)U展抓取extending Scrap,使用signals來(lái)自定義插入函數(shù)或者定義好的API(middlewares, extensions, and pipelines)
所有文件已經(jīng)打包,直接提取。
至于所謂的關(guān)注問(wèn)題,隨大家的便,想關(guān)注加就關(guān)注。我不需要說(shuō)關(guān)注后才給大家連接,現(xiàn)在的頭條根本不能賺錢,除非有幾十萬(wàn)的粉絲。
我只是分享一些自認(rèn)為有用的干貨,滿足一下知識(shí)傳播者的成就感。
—————————————————————————————————————
歡迎大家一起留言討論和交流,謝謝!
怎么樣都要學(xué)幾個(gè)python的簡(jiǎn)單小程序 小程序視頻課程
虹之菌BUG之前在學(xué)Python的時(shí)候,參考書上或網(wǎng)上的代碼寫了幾個(gè)小程序,發(fā)出來(lái)算個(gè)學(xué)習(xí)筆記,也請(qǐng)朋友們幫著給找找代碼中錯(cuò)誤和不嚴(yán)謹(jǐn)?shù)牡胤健?/p>
一、一個(gè)簡(jiǎn)單的下載程序
用過(guò)Curl后覺(jué)得它的下載功能很帥,命令行下的,就想用Python也來(lái)寫一個(gè)命令行下的下載程序。
其實(shí)用Python實(shí)現(xiàn)下載文件的功能很簡(jiǎn)單,用urllib模塊中的urlretrieve()函數(shù)就可以了。
url是要下載文件的URL地址,frlename是文件下載后保存時(shí)的文件名,reporthook是顯示下載進(jìn)度的,data還不知道是干什么的。除了url參數(shù)外,另外3個(gè)參數(shù)好像都可以省略。
把代碼保存為文件filedown.py。程序需要 輸入兩個(gè)參數(shù),一個(gè)是要下載文件的URL地址,一個(gè)是文件下載后保存時(shí)的文件名。來(lái)下載個(gè)文件測(cè)試下程序的功能。要下載的文件我挑了個(gè)比較小的——小Q書桌的安裝文件(用的移動(dòng)CMCC的網(wǎng)絡(luò),現(xiàn)在是周五晚上,網(wǎng)速很慢,只能挑個(gè)小文件來(lái)做測(cè)試了)下載后的保存文件名QDeskSetup_25_1277.exe。打開(kāi)命令提示符,切換到文件filedown.py所在的目錄,輸入如下命令:
回車后就開(kāi)始下載文件了,下載過(guò)程中程序會(huì)動(dòng)態(tài)顯示已經(jīng)下載的文件的大小和已經(jīng)完成的百分比。
來(lái)到文件filedown.py所在的目錄C:\pycode2\下,發(fā)現(xiàn)文件QDeskSetup_25_1277.exe已經(jīng)下載好了,雙擊運(yùn)行,程序一切正常,說(shuō)明程序可以完成下載文件的功能。但那個(gè)完成進(jìn)度的100.08%不知道是怎么算出來(lái)的,太刺眼,要改。另外,程序好像還缺了一個(gè)常見(jiàn)下載程序都有的功能一一顯示實(shí)時(shí)下載速度。
把代碼保存為文件filedown ver4.py。這次程序加入了顯示下載速度的功能,還增加了可以手工中斷正在下載的文件的功能。還是來(lái)測(cè)試下程序的功能。
回車后程序顯示能顯示下載速度了。
不過(guò)原來(lái)的問(wèn)題解決了,新的問(wèn)題又來(lái)了。
同樣的機(jī)子,下載同樣的文件,修改后的程序用了75.140秒,而原來(lái)的程序只用了10.969秒,說(shuō)明修改后的程序下載文件的速度嚴(yán)重變慢了。什么原因造成的呢?我一時(shí)沒(méi)找到答案,考慮過(guò)是不是加入的顯示文件下載速度和下載百分比的代碼執(zhí)行是不是比較占用CPU,下載的時(shí)候特意看了一下任務(wù)管理器中CPU的情況,結(jié)果發(fā)現(xiàn)CPU使用率不高,看來(lái)不是這個(gè)原因。知道怎么回事的朋友歡迎指教。
二、計(jì)算文件的SHA1值
從網(wǎng)上下載了幾個(gè)號(hào)稱MSDN原版的Windows操作系統(tǒng)的安裝鏡像,想在虛擬機(jī)里安裝幾個(gè)原版系統(tǒng)玩玩。但下載后還有點(diǎn)不放心,擔(dān)心文件有被修改過(guò)。于是就想驗(yàn)證下下載的鏡像文件的哈希值。MSDN官方網(wǎng)站上已經(jīng)給出了鏡像文件的SHA1值,比如我下載的網(wǎng)站上給出的文件的SHA1值為2CEOB2DB34D76ED3F697CE148CB7594432405E23。如果下載的文件的SHA1值也是2CEOB2DB34D76ED3F697CE148CB7594432405E23,說(shuō)明文件沒(méi)被修改,可以放心使用。
計(jì)算文件的SHA1值有很多工具,但手頭有Python,能少用一個(gè)第三方軟件就少用一個(gè),就考慮用Python寫個(gè)計(jì)算文件SHA1值的小程序。
先上網(wǎng)上搜索了下相關(guān)代碼,網(wǎng)上已經(jīng)有了。網(wǎng)上的代碼用的是hashlib模塊中的shal()函數(shù)來(lái)計(jì)算SHA1值。為了處理大文件,所以需要使用shal()函數(shù)的update()方法。
一看就懂的python小程序-支持多線程聊天實(shí)例 小程序視頻課程
在上一篇文章中,也分享了一個(gè)在python下使用socket來(lái)進(jìn)行通訊的實(shí)例,不過(guò)那個(gè)實(shí)例是單線程的,也就是說(shuō)服務(wù)器端和客戶端是一對(duì)一的,如果客戶端不止一個(gè)的話,第二個(gè)客戶端同時(shí)執(zhí)行的話,會(huì)導(dǎo)致線程阻塞,也就是會(huì)卡住。不過(guò)上一個(gè)分享的實(shí)例也是為了大家先知道python下的socket通訊是怎樣的,我覺(jué)得那樣可能會(huì)先讓大家容易理解。
這次我給大家?guī)?lái)的還是python中socket相關(guān)的一個(gè)小程序?qū)嵗?,不過(guò)此次不是單線程的了,而是socket多線程通訊的實(shí)例,客戶端基本上不變,依然可以沿用上一篇文章中的那個(gè)客戶端的程序,只需要修改一下端口即可。
廢話就不多說(shuō)了,先展示程序?qū)崿F(xiàn)的效果:
多線程socket服務(wù)端的效果:
多線程socket服務(wù)端接收3個(gè)客戶端發(fā)送過(guò)來(lái)的信息并處理
客戶端發(fā)送的信息,以及服務(wù)端將信息處理后返回的信息效果:
客戶端a
客戶端b
客戶端c
下面會(huì)把服務(wù)端和客戶端的程序截圖出來(lái),程序里已經(jīng)有詳細(xì)的注釋,方便大家理解。
多線程socket通訊服務(wù)端代碼:
socket服務(wù)端
客戶端代碼:
socket客戶端
Python實(shí)現(xiàn)微信功能全自動(dòng)化,微信小程序不能給的Python實(shí)現(xiàn)! 小程序視頻課程
Python應(yīng)用于微信二次開(kāi)發(fā)實(shí)戰(zhàn)。背景:
itchat倉(cāng)庫(kù) :
1、步驟分析
1、 被添加微信好友 ,過(guò)濾掉關(guān)鍵詞,看是否包含Py(可設(shè)置其它),Python 字眼,如果包含, 通過(guò)請(qǐng)求,并添加一句歡迎的話術(shù);
2、python代碼實(shí)現(xiàn)
Python源碼:
運(yùn)行結(jié)果:
知道其API并調(diào)用即可。
然后變寫Python代碼實(shí)現(xiàn)下,先是定義一個(gè)獲取群聊ID的函數(shù):
完整的Python微信二次開(kāi)發(fā)所有源碼:
def get_group_id(group_name):group_list = itchat.search_chatrooms(name=group_name) return group_list[0]['UserName']if __name__ == '__main__':count = 0Timer(1800, loop_send).start()itchat.auto_login(enableCmdQR=2, hotReload=True)itchat.run()
其實(shí)說(shuō)到底就是個(gè)Python開(kāi)發(fā)的微信機(jī)器人,方便我們進(jìn)行管理!
Python小程序你會(huì)嗎,這里準(zhǔn)備了19個(gè)給你練習(xí)的實(shí)戰(zhàn)操作 小程序視頻課程
對(duì)于各種剛?cè)腴T的python小白新手必定存在這樣的煩惱!找不到好的資源和自己能夠測(cè)驗(yàn)入手的項(xiàng)目(題),今日呢 就給大家準(zhǔn)備了19個(gè)很容易上手而又能夠讓你們?nèi)轿坏玫教岣叩腜ython小程序!
首先說(shuō)一下,需要開(kāi)發(fā)工具的和清晰學(xué)習(xí)路線圖以及入門教程的,可以在本號(hào)置頂?shù)囊黄恼隆禤ython進(jìn)門不對(duì)真的可以走火入魔,學(xué)習(xí)路線大圖奉上!》里獲得,到了那里,需要什么~
需要開(kāi)發(fā)工具的和清晰學(xué)習(xí)路線圖以及入門教程的,可以在本號(hào)置頂?shù)囊黄恼隆禤ython進(jìn)門不對(duì)真的可以走火入魔,學(xué)習(xí)路線大圖奉上!》里獲得
特色:
1、創(chuàng)立
實(shí)例:
basket = {'apple', 'orange', 'apple', 'pear', 'orange', 'banana'} # 用花括號(hào)的方法創(chuàng)立一個(gè)調(diào)集set2 = set('abracadabra') # 用set()的方法創(chuàng)立一個(gè)調(diào)集set3 = set() # 創(chuàng)立一個(gè)空的調(diào)集print(basket)
仔細(xì)對(duì)照一下,你會(huì)發(fā)現(xiàn),主動(dòng)去除了重復(fù),值得一提的是 顯現(xiàn)的次序并不表明Sets是有序的
經(jīng)過(guò)add(key)方法能夠增加元素到set中,能夠重復(fù)增加,但不會(huì)有作用:
basket = {'apple', 'orange', 'apple', 'pear', 'orange', 'banana'} # 用花括號(hào)的方法創(chuàng)立一個(gè)調(diào)集print('本來(lái)的basket:', basket)basket.add('apple') # 增加一個(gè)重復(fù)的print('增加一個(gè)重復(fù)項(xiàng)后:', basket)basket.add('watermelon') # 增加一個(gè)不重復(fù)的print('增加一個(gè)不重復(fù)項(xiàng)后:', basket)
以上代碼,輸出:
本來(lái)的basket: {'apple', 'banana', 'pear', 'orange'}增加一個(gè)重復(fù)項(xiàng)后: {'apple', 'banana', 'pear', 'orange'}增加一個(gè)不重復(fù)項(xiàng)后: {'banana', 'apple', 'watermelon', 'orange', 'pear'}
Python牛人用Flask框架輕松實(shí)現(xiàn)微信小程序開(kāi)發(fā),一般人做不來(lái)! 小程序視頻課程
近期接了個(gè)外包項(xiàng)目,微信卡券小程序開(kāi)發(fā)。(ios與Android通用)
項(xiàng)目上線部署到阿里云上使用的系統(tǒng)是CentOS 7,Python3 + virtualenv + supervisor + gunicorn + nginx
題外話:作為一名優(yōu)秀的程序員必須前端與后端兼?zhèn)?。前端不難,后端難嗎?同樣很簡(jiǎn)單,Python后端編程既簡(jiǎn)單又有趣。學(xué)習(xí)Django框架和Flask框架后你會(huì)發(fā)現(xiàn)后端真的很有味道!
老生常談,微信官方的開(kāi)發(fā)者文檔寫的著實(shí)不怎樣。到底有多坑?隨便百度一大把坑等著你。如果說(shuō)你打算完全參考微信的官方文檔進(jìn)行Python開(kāi)發(fā),你想要完成你的需求的幾率幾乎為零!
關(guān)于這個(gè)利用flask框架的Python微信二次開(kāi)發(fā)小程序功能:
Flask里面對(duì)Mysql數(shù)據(jù)庫(kù)操作用的是Flask-Mysql或者Python-Mysql,看個(gè)人需要即可,方法大致雷同??偨Y(jié)一下用到的庫(kù),大概就是這些
這兩個(gè)方法獲取回來(lái)的數(shù)據(jù)都需要進(jìn)行緩存。
前端頁(yè)面在加載的時(shí)候需要初始化微信分享和卡券的相關(guān)簽名參數(shù)等,所以需要把前面生成的簽名數(shù)據(jù)傳過(guò)去,通過(guò)render就可以輕松傳到前端,render這個(gè)東西不要覺(jué)得有多神秘,搞過(guò)nodejs和thinkphp的估計(jì)也都見(jiàn)過(guò),看代碼
開(kāi)啟微信jssdk的調(diào)試模式后在安卓和ios上都會(huì)彈窗提示普通jssdk的簽名正確,安卓上面領(lǐng)取優(yōu)惠券成功后會(huì)顯示優(yōu)惠券相關(guān)信息。
謝謝閱讀,紙上得來(lái)終覺(jué)淺,窮知此事需躬行!