日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

qt 将int型数据显示在文本框_Qt编写Online judge爬虫

發(fā)布時(shí)間:2024/7/23 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 qt 将int型数据显示在文本框_Qt编写Online judge爬虫 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一、前提

剛開始接觸C++/Qt是需要一個(gè)項(xiàng)目練練手,當(dāng)時(shí)聽說(shuō)過(guò)OJ并且網(wǎng)絡(luò)不好,就想著把數(shù)據(jù)獲取下來(lái)隨時(shí)使用。

后來(lái)代碼寫多了之后聽說(shuō)Python寫爬蟲更方便,可惜坑已經(jīng)跳下去了,就一條路走到黑了。

這是我代碼之路的第一個(gè)完整實(shí)現(xiàn)完整功能的項(xiàng)目,以示紀(jì)念。

github地址如下

https://github.com/JackeyLea/BlackWidow.git?github.com

二、開發(fā)流程

1. 讀取配置文件(數(shù)據(jù)庫(kù)位置、皮膚名稱)
2. 讀取數(shù)據(jù)文件(網(wǎng)站名稱列表)
3. 顯示界面
4. 開啟題庫(kù)
5. 從第1題開始顯示題目數(shù)據(jù)(題目ID、題目名稱、提交人數(shù)、通過(guò)人數(shù)、題目)
6. 點(diǎn)擊“顯示提示”
7. 在提示文本框顯示提示
8. 點(diǎn)擊“顯示答案”
9. 在答案文本框顯示答案
10. 點(diǎn)擊“下一題”
11. 如果大于max ID就顯示顯示第1題,否則顯示下一題
12. 點(diǎn)擊“上一題”
13. 如果小于1就顯示最大ID的題目,否則顯示上一題
14. 點(diǎn)擊“爬蟲”
15. 顯示爬蟲界面
16. 點(diǎn)擊“網(wǎng)站名”下拉文本框,選擇一個(gè)網(wǎng)站名
17. 清空爬蟲界面數(shù)據(jù)
18. 點(diǎn)擊“start”按扭
19. 加載json文件中其他數(shù)據(jù)(網(wǎng)址、開始ID、題目數(shù)據(jù)正則表達(dá)式、提交人數(shù)正則等、結(jié)束標(biāo)志等)
20. 開始爬蟲
21. 是否正常,是否結(jié)束等等,如果結(jié)束則跳轉(zhuǎn)到35,否則繼續(xù)
22. 拼接網(wǎng)址和ID,生成完整的當(dāng)前網(wǎng)址
23. 獲取網(wǎng)址的網(wǎng)頁(yè)數(shù)據(jù)
24. 判斷網(wǎng)頁(yè)數(shù)據(jù)是否正常,如果包含結(jié)束保證則清空,如果是200之外的返回碼則清空
25. 獲取網(wǎng)頁(yè)數(shù)據(jù)中的編碼值,并重新編碼網(wǎng)頁(yè)文本
26. 如果網(wǎng)頁(yè)數(shù)據(jù)為空則
27. 根據(jù)19中的數(shù)據(jù)進(jìn)行文本解析
28. 獲取題目數(shù)據(jù)中最長(zhǎng)的一句話,并計(jì)算MD5值
29. 查詢數(shù)據(jù)庫(kù),此MD5值是否存在,如果存在則跳轉(zhuǎn)到32,否則繼續(xù)
30. 將此MD5值插入MD5表
31. 將其他的數(shù)據(jù)插入data表
32. 在爬蟲界面更新題目名、位置名、ID,同時(shí)更新已獲取的數(shù)量值
33. ID+1,正常數(shù)量+1,等等
34. 跳轉(zhuǎn)到21
35. 提示結(jié)束
36. 跳轉(zhuǎn)到15

三、界面

四、問(wèn)題

1、使用題目最長(zhǎng)一句話計(jì)算MD5進(jìn)行相似度判斷,發(fā)現(xiàn)效果并不好。

2、使用json格式進(jìn)行配置文件讀寫發(fā)現(xiàn)知識(shí)水平不夠,只能進(jìn)行第一層數(shù)據(jù)讀寫

3、主線程和爬蟲線程交互有點(diǎn)問(wèn)題

4、poj題目太多,加上反爬蟲的耗時(shí),考慮使用多線程等等

5、練手項(xiàng)目,最近在學(xué)Java、Python,熟練之后在用Java、Python重寫。

總結(jié)

以上是生活随笔為你收集整理的qt 将int型数据显示在文本框_Qt编写Online judge爬虫的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。