<kbd id="9plqc"><label id="9plqc"></label></kbd>

        <th id="9plqc"></th>
        1. <center id="9plqc"><video id="9plqc"></video></center>
          <sub id="9plqc"><form id="9plqc"><pre id="9plqc"></pre></form></sub>
          <nav id="9plqc"><form id="9plqc"><legend id="9plqc"></legend></form></nav>
          基于pyqt5的賽博算卦軟件 您所在的位置:網(wǎng)站首頁(yè) 手動(dòng)算卦 基于pyqt5的賽博算卦軟件

          基于pyqt5的賽博算卦軟件

          2025-07-15 15:43| 來(lái)源: 網(wǎng)絡(luò)整理| 查看: 265

          基于pyqt5的賽博算卦軟件

          文章目錄 基于pyqt5的賽博算卦軟件1.使用介紹2.資料準(zhǔn)備與爬取2.1文字信息爬取2.2圖片信息整理與爬取 3.ui設(shè)計(jì)4.算法參考5.圖片顯示及交互按鈕

          1.使用介紹

          ??這是一款基于pyqt5庫(kù)編寫的賽博算卦軟件,具有一鍵成卦和自行解卦等功能。作者由于心血來(lái)潮,同時(shí)也為了學(xué)習(xí)一定的pyqt5相關(guān)代碼的編寫方式,編寫了這個(gè)小軟件。同時(shí)也練習(xí)了python爬蟲(chóng)爬取相關(guān)網(wǎng)站的信息的方法。其中包含一鍵成卦、手動(dòng)算卦、命卦計(jì)算等方式,并根據(jù)一定算法形成卦爻辭。 ??具體工程文檔鏈接上傳到兩處: CSDN資源庫(kù):https://download.csdn.net/download/gsy_nb/88180522(更新可能不夠頻繁) Github:https://github.com/gsy66/EightDiagram(基本同步更新)

          2.資料準(zhǔn)備與爬取 2.1文字信息爬取

          ??在有這個(gè)想法的時(shí)候,我便開(kāi)始去網(wǎng)上搜索一些圖片。文字等的資料。很幸運(yùn)的是,在簡(jiǎn)單的搜索后,我在某乎發(fā)現(xiàn)了一篇文章(鏈接),包含著每一卦的卦辭和爻詞。便利用python的BeautifulSoup庫(kù)等對(duì)相關(guān)信息進(jìn)行爬取(具體使用方法可以參考其他博主文章),并進(jìn)行分類整合。 ??將所得到的數(shù)據(jù)以類似的字典格式存放,為了便捷之后的軟件對(duì)數(shù)據(jù)進(jìn)行調(diào)用,也為了方便自己以后代碼編寫思路的清晰。 具體代碼以下為例:

          from bs4 import BeautifulSoup import requests import re #從知乎上爬取卦爻辭并整理 url="https://zhuanlan.zhihu.com/p/377091070" r = requests.get(url,timeout=30) r.encoding = r.apparent_encoding #分析頁(yè)面內(nèi)容,以中文編碼顯示 html = r.text soup = BeautifulSoup(html, 'html.parser') #訪問(wèn)head、body、a、p、b def guaming_get(): h1 = soup.select('h2') f = open('./text/guaming.txt',"w",encoding='utf-8') print(type(h1)) h2 = h1[0].text for h in h1: print(h.text) h2 = re.findall(r".上.*?下",h.text) h3 = re.findall(r' .*? .*? .上.*?下',h.text) print(h2) print(h3) if h2 !=[] and h3!=[]: f.write("{}:{}\n".format(h2[0],h3[0])) elif h2 !=[] and h3 ==[]: f.write("{}:\n".format(h2[0])) f.close() def guaci_get(): a=soup.select('p') # print(a) t=[] for h in a: #print(h.text) h3=re.findall(r'[\u4e00-\u9fa5]+:.*?。',h.text) h4=re.findall(r'《[\u4e00-\u9fa5]》曰:.*?',h.text) if (h3!=[] and re.findall(r'曰',h3[0])==[]): # print(h.text) temp=[] temp1=h.text.strip().split(":") temp.append(temp1[0]) temp.append(temp1[1]) flag=0 #if(h3 !=[]): if (h4!=[] and re.findall(r'《[\u4e00-\u9fa5]》曰',h4[0]) !=[]): if flag==0: temp.append(h.text.strip()) flag=1 elif flag==1: temp.append(h.text.strip()) t.append(temp) return t def yaoci_get(): t=[] h1=soup.select('tbody') for h in h1: h2 = h.select('tr') tempm=[] for x in h2: x2=x.select('td') n=0 tempn=[] for x3 in x2: if n==0: temp1=x3.text tempn.append(temp1[0]+temp1[1]) tempn.append(temp1) n+=1 else: tempn.append(x3.text) tempm.append(tempn) t.append(tempm) #print(tempm) return t f=open("./text/guaci_yaoci.txt","w",encoding='utf-8') """ { "乾":{ "卦":['乾:元,亨,利,貞。','《彖》曰:', '《象》曰:'], "爻":[[1,2],[1,3],[1,4],[1,5],[1,6],[1,7]] } } """ a=guaci_get() b=yaoci_get() #f.write('{') dicta={} for i in range(len(a)): guaming=a[i][0]+"卦" guaci=a[i][1] guayuan=a[i][2] guaxiang=a[i][3] yaoci =b[i] dicta[guaming]={ "卦":[guaci,guayuan, guaxiang], "爻":[yaoci[0],yaoci[1],yaoci[2],yaoci[3],yaoci[4],yaoci[5]] } f.write(str(dicta)) #f.write("}") f.close() 2.2圖片信息整理與爬取

          ??在整理圖片信息的時(shí),由于算卦方式及卦本身的特點(diǎn),用0表示陰爻,用1表示陽(yáng)爻,從上至下依次表示六根爻,就能夠很好的檢索到對(duì)應(yīng)卦象所對(duì)應(yīng)的圖片。但是后來(lái)在編寫程序的時(shí)候,發(fā)現(xiàn)這種從上到下命名名稱的方式其實(shí)并不好,因?yàn)樗阖韵嚓P(guān)的算法一般來(lái)說(shuō)都是至下而上的,導(dǎo)致后面每次需要檢索的時(shí)候都要進(jìn)行一個(gè)倒置,也就多了一點(diǎn)麻煩,但是由于本人較懶,就沒(méi)改(也許這就是屎山形成的原因)。 具體圖片及代碼在整個(gè)文檔的64_img文件夾里。

          3.ui設(shè)計(jì)

          ui設(shè)計(jì)采用designer設(shè)計(jì)。

          4.算法參考 5.圖片顯示及交互按鈕


          【本文地址】

          公司簡(jiǎn)介

          聯(lián)系我們

          今日新聞

          推薦新聞

          專題文章
            CopyRight 2018-2019 實(shí)驗(yàn)室設(shè)備網(wǎng) 版權(quán)所有
            黄色免费网站在线看,韩国精品在线观看,韩国美女一区二区,99国产热 邓州市| 恩施市| 孝义市| 巴林右旗| 涿州市| 郴州市| 综艺| 昭通市| 文登市| 徐闻县| 汝南县| 资溪县| 南靖县| 丽水市| 平度市| 忻州市| 精河县| 彭阳县| 宁明县| 定远县| 米泉市| 响水县| 广南县| 吕梁市| 垦利县| 凤山县| 香港| 双牌县| 成安县| 于都县| 临邑县| 常宁市| 元谋县| 九寨沟县| 宁河县| 延寿县| 通许县| 会昌县| 太谷县| 陈巴尔虎旗| 五指山市| http://444 http://444 http://444 http://444 http://444 http://444