奇酷教育-Python培训|UI培训|WEB大前端培训|Unity3D培训|HTML5培训|人工智能培训|JAVA开发的教育品牌

您現在所在的位置:首頁 >學員就業 > 學生感言 > Python1707A學員感言:寫爬蟲很簡單又很難

Python1707A學員感言:寫爬蟲很簡單又很難

來源:奇酷教育 發表于:

 通過這次做項目,使我對項目開發有了進一步的認識。做項目的時候,最重要的不是自己如何快速地將自己分配的任務做完,而是要注重團隊合作

 通過這次做項目,使我對項目開發有了進一步的認識。做項目的時候,最重要的不是自己如何快速地將自己分配的任務做完,而是要注重團隊合作。一開始組內必須對這個項目的數據庫的命名進行討論,定義表的屬性的數據類型,表與表之間會有關聯,所以有的屬性的類型與長度必須定義一致,這樣訪問數據庫時才不會出錯。如果一開始不將這些步驟統一下來的話,就會給后面的編程帶來一系列的問題。
 
    整個一周的項目,第一天我們就對項目的數據庫以及數據表有了初步的建立,然后后面還有許多模塊需要分工,當然,有些具體的模塊需要完成的功能,都還不甚清楚,因此我們第一天就針對這個web項目做了一個簡單的Django框架的搭建,以及前期項目比較依賴的登錄注冊部分給完善了出來。
    整個項目包含了有:購物車,商品列表頁,商品詳情頁,訂單頁面,支付頁面,個人用戶信息完善頁面,首頁的完善展示和一些小功能,然而我們組有5個人呢,我有身為組長,其中最重要的一部分,商品數據的獲取部分就是由我來做的。
    從第二天開始,我們就開始按照各自的分工開始寫自己的項目了,但是,一旦開始些項目之后,隨之而來的各種問題就出現了,例如商品列表頁面需要一些基礎的數據部分,這些數據是需要我來爬取,具體的商品需要分類,這些商品類型也是需要我首先爬取一部分基礎的測試數據的,還有一部分商品詳情頁的內容也是需要我先爬取一部分基礎測試數據的,因此,我就開始了我的基礎測試數據的爬取。
    我選擇的是爬蟲,因此為了起初為了效率,我是選擇的比較高效率的scrapy框架來爬取數據的,但是,當寫了一段時間代碼之后,發現自己對著一套框架并不熟悉,底層封裝的各種代碼,的用途都不是很熟悉,感覺就是寫代碼根本就是不可控制的,這就很難受,幾經猶豫,最終我轉回了基本的requests模塊,雖說比較基礎,但也還沒到了urllib2的那種程度,因此寫起來也就比較得心應手了,同時感覺可控制性也比較強,一天下來,商品列表的爬取代碼也寫的差不多了,到了爬取數據的時候終于還是出了不少問題。
    比如,再匹配頁面數據的時候,我選擇的是使用Xpath來匹配頁面數據,明明在網頁上使用的xpath查詢工具能夠匹配到數據,可是寫在代碼里面就是匹配不到數據,這個問題一直困擾了,我很長時間,直到我上網百度之后,才發現,有些問題還是自己的問題,當順利解決之后,最終還是選擇了使用正則與Xpath的混合使用完成了商品類型列表的爬取部分。當然,這也是我第二天完成了自己爬取組內基礎測試數據部分的爬取。
    由于我寫的是爬蟲,當項目的數據模型類基本定下來之后,就只需要關心自己的數據問題與數據庫的數據的對應問題就可以了,可是,身為項目小組中的組長,我還是要肩負一部分的責任的,一天下來,組內成員也積累了不少問題,比如,白天在代碼同步的時候,總會有些人因為在提交之前沒有更新,其他人再更新的時候,就會莫名的有一部分代碼被刪掉,這些都是更行代碼不同步的問題,當然,其他問題也在討論的時候得到了一一的解決。
    到了第三天,真正需要完整的爬取整站的數據的時候,終于還是出了不少問題,例如:這次我們的模板是個全英文的電商網站模板,因此,我在爬取國內網站的中文數據,放在一塊就會顯得非常的不倫不類的感覺,在幾經權衡之下,我選擇了爬取國外同樣的一個大型電商網站。
    又經過了一天的奮斗之后,寫完了一套代碼,問題總是在不經意間到來,由于爬的是國外網站的數據,因此爬取數據的時候,效率就異常的低,幾乎是兩三秒爬取一條的商品數據,然而整站的數據算下來幾乎能達到40000條數據,這樣肯定是不行的,何況還要保存,入庫,如果整個爬下來之后再入庫肯定是不行的,首先內存就會不支持,因此,不得已我就考慮會不會是我的代碼的性能問題。
    于是乎,又接下來的一天我就對代碼做了大量的修改,完全改成了多進程多線程式的操作,可是結果仍不盡如人意,效率不見提升,反而又降低了不少,經過跟組員門的討論之后,考慮應該是數據量是固定的,多線程爬取的話,就會造成并發量過大,同時發送的請求量占用了大量的帶寬,導致了下行數據的速度非常緩慢。
    不得已,我又對代碼做了大量的修改,于是乎,第三個版本就是,單純的雙進程,一個寫入數據,一個爬取數據,這樣下來,效率倒也還好,但是也就跟剛開始差不多,就這樣爬取了一整天,期間跟其他組員共同完成了許多其他難以解決的問題。
    問題的出現總是不可避免的,出現了就要解決,這次的問題就是,爬了整天的數據,到最后,一直只是寫入,卻并沒有保存,因此到了最后需要加快進度,于是就又一次修改代碼,在爬取數據 的時候,沒爬取一類自動保存一次,當然,為了不重復爬取,同時增加了指紋集合的功能,這次總算能有一部分數據了。
    當然,最后肯定不能就這樣草草結束,項目還并不完整,結束以后,一些細節以及數據,仍然需要完成。總體來說,在此次項目中,我們小組雖說經歷了各種困難,但我們都憑借各種途徑解決掉了,增加了項目協同開發的經驗的同時,我也覺得這就是一種自我提升的手段,相信對以后自己的工作中會有很大的用處的。
主站蜘蛛池模板: 昆山PCB加工_SMT贴片_PCB抄板_线路板焊接加工-昆山腾宸电子科技有限公司 | 成人纸尿裤,成人尿不湿,成人护理垫-山东康舜日用品有限公司 | 打包钢带,铁皮打包带,烤蓝打包带-高密市金和金属制品厂 | 避光流动池-带盖荧光比色皿-生化流动比色皿-宜兴市晶科光学仪器 东莞爱加真空科技有限公司-进口真空镀膜机|真空镀膜设备|Polycold维修厂家 | 软膜天花_软膜灯箱_首选乐创品牌_一站式天花软膜材料供应商! | 粉末冶金-粉末冶金齿轮-粉末冶金零件厂家-东莞市正朗精密金属零件有限公司 | 标准光源箱|对色灯箱|色差仪|光泽度仪|涂层测厚仪_HRC大品牌生产厂家 | 新疆乌鲁木齐网站建设-乌鲁木齐网站制作设计-新疆远璨网络 | 睿婕轻钢别墅_钢结构别墅_厂家设计施工报价 | 广东成考网-广东成人高考网| 展厅设计公司,展厅公司,展厅设计,展厅施工,展厅装修,企业展厅,展馆设计公司-深圳广州展厅设计公司 | 天津试验仪器-电液伺服万能材料试验机,恒温恒湿标准养护箱,水泥恒应力压力试验机-天津鑫高伟业科技有限公司 | 金环宇|金环宇电线|金环宇电缆|金环宇电线电缆|深圳市金环宇电线电缆有限公司|金环宇电缆集团 | Copeland/谷轮压缩机,谷轮半封闭压缩机,谷轮涡旋压缩机,型号规格,技术参数,尺寸图片,价格经销商 CTP磁天平|小电容测量仪|阴阳极极化_双液系沸点测定仪|dsj电渗实验装置-南京桑力电子设备厂 | 日本东丽膜_反渗透膜_RO膜价格_超滤膜_纳滤膜-北京东丽阳光官网 日本细胞免疫疗法_肿瘤免疫治疗_NK细胞疗法 - 免疫密码 | 组织研磨机-高通量组织研磨仪-实验室多样品组织研磨机-东方天净 传递窗_超净|洁净工作台_高效过滤器-传递窗厂家广州梓净公司 | 煤机配件厂家_刮板机配件_链轮轴组_河南双志机械设备有限公司 | 润滑油加盟_润滑油厂家_润滑油品牌-深圳市沃丹润滑科技有限公司 琉璃瓦-琉璃瓦厂家-安徽盛阳新型建材科技有限公司 | 真空泵维修保养,普发,阿尔卡特,荏原,卡西亚玛,莱宝,爱德华干式螺杆真空泵维修-东莞比其尔真空机电设备有限公司 | 长沙印刷厂-包装印刷-画册印刷厂家-湖南省日大彩色印务有限公司 青州搬家公司电话_青州搬家公司哪家好「鸿喜」青州搬家 | IP检测-检测您的IP质量| bkzzy在职研究生网 - 在职研究生招生信息咨询平台 | 阻垢剂-反渗透缓蚀阻垢剂厂家-山东鲁东环保科技有限公司 | 超声波乳化机-超声波分散机|仪-超声波萃取仪-超声波均质机-精浩机械|首页 | 金属波纹补偿器厂家_不锈钢膨胀节价格_非金属伸缩节定制-庆达补偿器 | 河南空气能热水器-洛阳空气能采暖-洛阳太阳能热水工程-洛阳润达高科空气能商行 | 隔离变压器-伺服变压器--输入输出电抗器-深圳市德而沃电气有限公司 | 气象监测系统_气象传感器_微型气象仪_气象环境监测仪-山东风途物联网 | 沈阳真空机_沈阳真空包装机_沈阳大米真空包装机-沈阳海鹞真空包装机械有限公司 | 铣床|万能铣床|立式铣床|数控铣床|山东滕州万友机床有限公司 | 接地电阻测试仪[厂家直销]_电缆故障测试仪[精准定位]_耐压测试仪-武汉南电至诚电力设备 | 防堵吹扫装置-防堵风压测量装置-电动操作显示器-兴洲仪器 | 能耗监测系统-节能监测系统-能源管理系统-三水智能化 | 塑木弯曲试验机_铜带拉伸强度试验机_拉压力测试台-倾技百科 | 济南品牌设计-济南品牌策划-即合品牌策划设计-山东即合官网 | 网络推广公司_网络营销方案策划_企业网络推广外包平台-上海澜推网络 | 楼承板-开闭口楼承板-无锡海逵楼承板 | 微型驱动系统解决方案-深圳市兆威机电股份有限公司 | 内窥镜-工业内窥镜厂家【上海修远仪器仪表有限公司】 | 刺绳_刀片刺网_刺丝滚笼_不锈钢刺绳生产厂家_安平县浩荣金属丝网制品有限公司-安平县浩荣金属丝网制品有限公司 | 无锡网站建设_企业网站定制-网站制作公司-阿凡达网络 |