一、組員職責分工
算法:庄錫榮,林鑫燦
前端:許煌標,蔡峰,吳珂雨
信息整理:林曉鋒,陳珊珊,侯雅倩
博客:陳珊珊,王鍾賢
二、github提交日志
三、程序運行截圖
運行中爬取到的部分信息
數據庫中的部分信息
程序部分代碼
配置模塊
主要模塊
接口模塊
四、程序運行環境
Python3.7 / PyQT5 / Anaconda3 /MySQL5.7
五、GUI界面
主界面
最火商圈功能
最佳美食聚集地
潮流衣室
性價比優選餐廳
50以下價位
50-100價位
100-200價位
200以上價位
附加題1:最有潛力商圈
附加題3:冷清商圈排行榜
附加題3:踩坑店鋪
六、基礎功能實現
首頁為菜單頁面,上面有4個按紐分別對應4個基礎評測目標
- 按鈕1:福州最受歡迎的商圈,根據當前福州商圈人氣排行,顯示排行Top5的商圈
- 按鈕2:福州最佳美食餐廳,根據人均消費分類,用價格和消費人數以及人均消費綜合評定,分別列舉出人均消費50以下,50-100,100-200,200以上的性價比排行Top5的餐廳
- 按鈕3:福州最佳美食聚集地,根據好評數和商家種類數量,綜合評定出排行Top5的商圈
- 按鈕4:福州服飾類綜合評分最高的商圈,根據服飾類綜合評分和店鋪數量綜合計算,顯示評分排行Top5的商圈
附加測評頁面
- 頁面1:最有潛力商圈分析
- 頁面2:冷清商圈排行榜
- 頁面3:踩坑店鋪分析
七、鼓勵有想法且有用的功能
- 增設踩雷排行榜,告訴顧客哪些店性價比不是那么的高,需慎重考慮
- 就目前的形勢來看,網紅店的人氣還是很高,因此可以出個功能根據評價匯總分析列舉出不值得去的網紅店
- 可以增設值得玩的地方或商圈,並列出TOP排行
- 根據用戶平時點擊查詢,做出個性分析,自動推薦感興趣的商家
- 向用戶推薦附近的人/愛好相似的人瀏覽最多的信息
八、遇到的困難及解決辦法
組長庄錫榮:
遇到的困難:
遇到挺多困難的,第一點就是對組員工作的不好分配,因為安排的問題很多人沒有發揮出特長:第二點就是關於爬蟲的知識了解的不多,由於早上多人同時用校園網使得大眾點評爬蟲對本ip失效,使工作停滯了很長一段時間。
解決方法:
解決方法就是多聽聽組員想法,多討論發表意見;由於爬蟲沒有使用代理池,最后轉向反爬措施沒那么強的美團爬取另一部分數據。
組員林鑫燦:
遇到的困難:
對爬蟲不夠熟悉,准備工作做的不充分,api學的太慢,花了大把時間在熟悉學習各種爬蟲工具上,在實際編程過程中遇到了問題,最致命的就是有個關鍵模塊一直接不上api,於是自己就在那里尬住了
解決辦法:
經過一番(無用的)嘗試,迫不得已轉了其他api,效果雖然不如預期,但還算看得過去,勉強解決了當務之急。
組員蔡峰:
遇到的困難:
小組:
①隊內分工的協調問題有點大,沒有成功地發揮每個人的能力特點,不只是發揮不出來,甚至忙的人特別忙,閑的人特別閑。
②總體戰略部署存在失誤,實戰前一天晚上的調api過程沒能重現,存在着沒有預想到的麻煩
③由於隊伍內核心代碼成員的比賽,缺席了這次的編程實戰,給我們帶來了很多困擾
④整個團隊呈現出工作效率低的狀態,最具體就是表現在性價比的計算都存在着偏差,導致很多導出的餐廳並不是性價比高的餐廳。
個人:
①和分隊隊友沒有溝通好,個人的技術優勢沒有得到很好的發揮。
②發現問題后提出解決問題的時間過遲,沒有很好地串聯起團隊。
解決辦法:
綜上的所有困難,實際上都是我們團隊和我本身事后總結出來的,問題實際上在當時並沒有很好解決。團隊的話,我認為應該在實戰題目出來之前做好准備,設想出可能會遇到地困難,在出題之后的十分鍾之內有效地討論出分工再去付出實際工作。個人的話,問題還是比較大的,做好溝通工作和能力提高。
有趣的分析:
因為我是比較喜歡外出的人,在今天的編程實戰中,我發現大眾點評的一些數據不太符合我的認知。首先是在最受歡迎商圈這里我看到了茶亭世貿的人氣值是高於寶龍萬象的,實際上根據我一周幾乎五六次外出的經驗來看,寶龍萬象的人氣值在觀測中是要高於茶亭世貿的,可能是因為茶亭世貿的消費水平比較符合大眾的平均水平,並且在店鋪數上是領先於其他商圈的,所以人氣值在評測中會更高一些。
雷區頻出。其次我在低端消費排行榜中看到了“賽百味”和“骨之味”,這里的出現讓我很吃驚,因為這是快餐級別的餐飲,所以一定要做得棒才能夠贏得好的口碑,我認為這兩個餐廳是雷區,不建議大家根據這個排行榜去拔草。再舉一個高端餐廳的例子,“埖絳日式花園餐廳”地理位置比較偏,是因為長期推出霸王餐的活動提高分數,再加上其獨特的環境優勢才贏得了榜單前列,但在我看來並不算是一個性價比高的餐廳。
實際上在榜單里看到許多優質餐廳,也看到許多人為“優質餐廳”,舉個例子,寶龍的“肉祭”和“鳥匠”的確是優質餐廳,已經連續兩年入選大眾點評的必吃榜。然而像“韓一品”這樣點評數少的五星餐廳很明顯就是人為刷的,再加上美團的推薦費用是一年一萬二,所以這樣的店鋪在繳納費用后很容易就能夠上分了,但是實際上只能夠短期高分,因為時間還是能夠證明它的優劣。
最后想說的是,實際上每個城市幾乎都有必吃榜,這個榜單的風評還是十分不錯的,至少在福州這兩三年的必吃榜中的餐廳都具有很大的影響力。但是這個必吃榜也包括很大一部分的網紅餐廳,因為其獨特的風格贏得了必吃榜的排名。所以在一些地方必吃榜中的餐廳並不是當地人會常去的地方,如果你想吃到地道的當地風味,還是要根據自己的需求找當地人推薦,大眾點評或許能給你很好的輔助參考價值,但是並不是你選擇的絕對依據。
組員侯雅倩:
遇到的困難:
抓包過程一直出錯
解決辦法:
原來是沒下載mysql,一直傻傻的以為有microsoftsql就好了,手動打數據了解一下...
組員王鍾賢:
遇到的困難:
由於早上暫無成果而博客很多需要已經做好的頁面截圖,因而沒事嘛可寫的。
解決辦法:
寫能先寫的,並學習新技術。
組員許煌標:
遇到的困難:
主要還是時間問題,我們團隊兩個大佬去比賽了,本身少了核心點之后力不從心,在效率上也出現了問題
解決辦法:
最后還是選擇了多做點時間,交個好歹能看的上去。
組員陳珊珊:
遇到的困難:
對爬蟲這項技術不是很了解,都不會用它
解決辦法:
在網站上查找一些資料,然后嘗試着運行,試圖弄懂...
組員吳珂雨:
遇到的困難:
沒有困難,甚至在一段時間內無所事事,完成分內的事情以后看了看前端那邊有沒有需要幫忙的,但是能做的很少,幫忙做了幾個按鈕以后又不知道自己能做些什么了,他們也處於迷茫狀態。
解決辦法:
實際上問題並沒有得到解決,反而是到最后為了完成任務無視了質量。
組員林曉鋒:
遇到的困難:
這次現場編程只是負責搜一些資料,寫一些數據,沒有遇到太多的困難。
解決辦法:
找不到合適的資料時會大家一起討論,選出最符合題目要求的數據。
馬后炮
庄錫榮:如果再給我一次重開的機會,那么我會把“重擔”提前多天明確地壓到每一個人身上,而不是到最后由兩三個人承擔大部分的coding壓力。(小組任務完成的不太好,組長要要首先檢討。從后往前看,我們或許有更好的解決方案。可以采用更多人掌握的、更簡易的html開發前端而不是使用pyqt然后把前端多個頁面的任務堆到一兩個人身上,導致工作量嚴重不均衡,很多人無事可做,最后由一兩個人完成出來的效果也並不是很好。)
林鑫燦:如果自己能夠自覺一點,早點接觸api,那么我就不必在凌晨四點還在苦苦思索api的正確打開方式,現在就是后悔,十分后悔。
侯雅倩:如果能早點了解一下抓包過程,那么就不會現場學還學不會了。
許煌標:如果我們大哥和傑哥都在,那么我們會讓你們知道什么是恐怖!
王鍾賢:如果我能學習好python,那么我就能做更有價值的工作了!
陳珊珊:如果我能好好地利用時間早點去學習爬蟲,那么我就幫上更多的忙了!
吳珂雨:(其實這次作業沒有將大家的作用都發揮得很好,有的工作有些冗余,有的工作又缺人)如果能夠更加合理的分工,進行足夠的溝通,那么團隊效率會增加許多。
蔡峰:如果今天早上大哥金傑都在的話,那么這次作業不過是一盤供他們開胃的餐前菜!
林曉鋒:如果能學會更多的知識,有更好的技術水平,那么可以幫助隊友更快地實現。
九、貢獻比例
姓名 | 比例 | 完成工作 |
---|---|---|
許煌標 | 15% | 前端編寫 |
林鑫燦 | 15% | 算法編寫 |
庄錫榮 | 15% | 算法編寫 |
陳珊珊 | 10% | 信息整理和博客撰寫 |
吳珂雨 | 9% | 素材整理和前端設計 |
蔡峰 | 9% | 前端設計 |
林曉鋒 | 8% | 素材整理 |
侯雅倩 | 8% | 素材整理 |
王鍾賢 | 7% | 博客撰寫 |
曾世緣 | 2% | 精神支持 |
陳金傑 | 2% | 精神支持 |
十、PSP表格
PSP2.1 | Personal Software Process Stages | 預估耗時(分鍾) | 實際耗時(分鍾) |
---|---|---|---|
Planning | 計划 | 20 | 25 |
· Estimate | · 估計這個任務需要多少時間 | 20 | 25 |
Development | 開發 | 965 | 1265 |
· Analysis | · 需求分析 | 145 | 160 |
· Design Spec | · 生成設計文檔 | 30 | 30 |
· Design Review | · 設計復審 | 30 | 35 |
· Coding Standard | · 代碼規范 | 100 | 120 |
· Design | · 具體設計 | 330 | 360 |
· Coding | · 具體編碼 | 200 | 340 |
· Code Review | · 代碼復審 | 100 | 160 |
· Test | · 測試 | 30 | 60 |
Reporting | 報告 | 90 | 150 |
· Test Report | · 測試報告 | 40 | 60 |
· Size Measurement | · 計算工作量 | 20 | 30 |
· Postmortem/Process Improvement Plan | · 事后總結, 並提出過程改進計划 | 30 | 60 |
合計 | 1075 | 1440 |
十一、學習進度表
第N周 | 新增代碼(行) | 累計代碼(行) | 本周學習耗時(小時) | 累計學習耗時(小時) | 重要成長 |
---|---|---|---|---|---|
1 | 0 | 0 | 10 | 10 | 學會markdown寫博客 |
2 | 500 | 500 | 26 | 36 | 學會json格式使用 使用request庫調用API |
3 | 0 | 0 | 21 | 57 | 使用Axure進行原型設計 設計出征戰十三水原型 |
4 | 600 | 1100 | 16 | 73 | 使用Pyqt進行UI設計 設計出征戰十三水UI |
5 | 0 | 1100 | 10 | 88 | 學會軟件的選題分析 |
6 | 0 | 1100 | 13 | 101 | 學會軟件的需求分析 |
7 | 1200 | 2300 | 12 | 113 | 學會對爬取數據進行 處理並分析利用 |
… | … | … | … | … | … |