97超碰碰碰_91热播_91国产免费视频_91视频合集_国产精品白丝jk白祙_国产精品久免费的黄网站

您現(xiàn)在所在的位置:首頁 >學(xué)員就業(yè) > 學(xué)生感言 > Python1707A學(xué)員感言:寫爬蟲很簡單又很難

Python1707A學(xué)員感言:寫爬蟲很簡單又很難

來源:奇酷教育 發(fā)表于:

 通過這次做項(xiàng)目,使我對項(xiàng)目開發(fā)有了進(jìn)一步的認(rèn)識。做項(xiàng)目的時候,最重要的不是自己如何快速地將自己分配的任務(wù)做完,而是要注重團(tuán)隊(duì)合作

 通過這次做項(xiàng)目,使我對項(xiàng)目開發(fā)有了進(jìn)一步的認(rèn)識。做項(xiàng)目的時候,最重要的不是自己如何快速地將自己分配的任務(wù)做完,而是要注重團(tuán)隊(duì)合作。一開始組內(nèi)必須對這個項(xiàng)目的數(shù)據(jù)庫的命名進(jìn)行討論,定義表的屬性的數(shù)據(jù)類型,表與表之間會有關(guān)聯(lián),所以有的屬性的類型與長度必須定義一致,這樣訪問數(shù)據(jù)庫時才不會出錯。如果一開始不將這些步驟統(tǒng)一下來的話,就會給后面的編程帶來一系列的問題。
 
    整個一周的項(xiàng)目,第一天我們就對項(xiàng)目的數(shù)據(jù)庫以及數(shù)據(jù)表有了初步的建立,然后后面還有許多模塊需要分工,當(dāng)然,有些具體的模塊需要完成的功能,都還不甚清楚,因此我們第一天就針對這個web項(xiàng)目做了一個簡單的Django框架的搭建,以及前期項(xiàng)目比較依賴的登錄注冊部分給完善了出來。
    整個項(xiàng)目包含了有:購物車,商品列表頁,商品詳情頁,訂單頁面,支付頁面,個人用戶信息完善頁面,首頁的完善展示和一些小功能,然而我們組有5個人呢,我有身為組長,其中最重要的一部分,商品數(shù)據(jù)的獲取部分就是由我來做的。
    從第二天開始,我們就開始按照各自的分工開始寫自己的項(xiàng)目了,但是,一旦開始些項(xiàng)目之后,隨之而來的各種問題就出現(xiàn)了,例如商品列表頁面需要一些基礎(chǔ)的數(shù)據(jù)部分,這些數(shù)據(jù)是需要我來爬取,具體的商品需要分類,這些商品類型也是需要我首先爬取一部分基礎(chǔ)的測試數(shù)據(jù)的,還有一部分商品詳情頁的內(nèi)容也是需要我先爬取一部分基礎(chǔ)測試數(shù)據(jù)的,因此,我就開始了我的基礎(chǔ)測試數(shù)據(jù)的爬取。
    我選擇的是爬蟲,因此為了起初為了效率,我是選擇的比較高效率的scrapy框架來爬取數(shù)據(jù)的,但是,當(dāng)寫了一段時間代碼之后,發(fā)現(xiàn)自己對著一套框架并不熟悉,底層封裝的各種代碼,的用途都不是很熟悉,感覺就是寫代碼根本就是不可控制的,這就很難受,幾經(jīng)猶豫,最終我轉(zhuǎn)回了基本的requests模塊,雖說比較基礎(chǔ),但也還沒到了urllib2的那種程度,因此寫起來也就比較得心應(yīng)手了,同時感覺可控制性也比較強(qiáng),一天下來,商品列表的爬取代碼也寫的差不多了,到了爬取數(shù)據(jù)的時候終于還是出了不少問題。
    比如,再匹配頁面數(shù)據(jù)的時候,我選擇的是使用Xpath來匹配頁面數(shù)據(jù),明明在網(wǎng)頁上使用的xpath查詢工具能夠匹配到數(shù)據(jù),可是寫在代碼里面就是匹配不到數(shù)據(jù),這個問題一直困擾了,我很長時間,直到我上網(wǎng)百度之后,才發(fā)現(xiàn),有些問題還是自己的問題,當(dāng)順利解決之后,最終還是選擇了使用正則與Xpath的混合使用完成了商品類型列表的爬取部分。當(dāng)然,這也是我第二天完成了自己爬取組內(nèi)基礎(chǔ)測試數(shù)據(jù)部分的爬取。
    由于我寫的是爬蟲,當(dāng)項(xiàng)目的數(shù)據(jù)模型類基本定下來之后,就只需要關(guān)心自己的數(shù)據(jù)問題與數(shù)據(jù)庫的數(shù)據(jù)的對應(yīng)問題就可以了,可是,身為項(xiàng)目小組中的組長,我還是要肩負(fù)一部分的責(zé)任的,一天下來,組內(nèi)成員也積累了不少問題,比如,白天在代碼同步的時候,總會有些人因?yàn)樵谔峤恢皼]有更新,其他人再更新的時候,就會莫名的有一部分代碼被刪掉,這些都是更行代碼不同步的問題,當(dāng)然,其他問題也在討論的時候得到了一一的解決。
    到了第三天,真正需要完整的爬取整站的數(shù)據(jù)的時候,終于還是出了不少問題,例如:這次我們的模板是個全英文的電商網(wǎng)站模板,因此,我在爬取國內(nèi)網(wǎng)站的中文數(shù)據(jù),放在一塊就會顯得非常的不倫不類的感覺,在幾經(jīng)權(quán)衡之下,我選擇了爬取國外同樣的一個大型電商網(wǎng)站。
    又經(jīng)過了一天的奮斗之后,寫完了一套代碼,問題總是在不經(jīng)意間到來,由于爬的是國外網(wǎng)站的數(shù)據(jù),因此爬取數(shù)據(jù)的時候,效率就異常的低,幾乎是兩三秒爬取一條的商品數(shù)據(jù),然而整站的數(shù)據(jù)算下來幾乎能達(dá)到40000條數(shù)據(jù),這樣肯定是不行的,何況還要保存,入庫,如果整個爬下來之后再入庫肯定是不行的,首先內(nèi)存就會不支持,因此,不得已我就考慮會不會是我的代碼的性能問題。
    于是乎,又接下來的一天我就對代碼做了大量的修改,完全改成了多進(jìn)程多線程式的操作,可是結(jié)果仍不盡如人意,效率不見提升,反而又降低了不少,經(jīng)過跟組員門的討論之后,考慮應(yīng)該是數(shù)據(jù)量是固定的,多線程爬取的話,就會造成并發(fā)量過大,同時發(fā)送的請求量占用了大量的帶寬,導(dǎo)致了下行數(shù)據(jù)的速度非常緩慢。
    不得已,我又對代碼做了大量的修改,于是乎,第三個版本就是,單純的雙進(jìn)程,一個寫入數(shù)據(jù),一個爬取數(shù)據(jù),這樣下來,效率倒也還好,但是也就跟剛開始差不多,就這樣爬取了一整天,期間跟其他組員共同完成了許多其他難以解決的問題。
    問題的出現(xiàn)總是不可避免的,出現(xiàn)了就要解決,這次的問題就是,爬了整天的數(shù)據(jù),到最后,一直只是寫入,卻并沒有保存,因此到了最后需要加快進(jìn)度,于是就又一次修改代碼,在爬取數(shù)據(jù) 的時候,沒爬取一類自動保存一次,當(dāng)然,為了不重復(fù)爬取,同時增加了指紋集合的功能,這次總算能有一部分?jǐn)?shù)據(jù)了。
    當(dāng)然,最后肯定不能就這樣草草結(jié)束,項(xiàng)目還并不完整,結(jié)束以后,一些細(xì)節(jié)以及數(shù)據(jù),仍然需要完成。總體來說,在此次項(xiàng)目中,我們小組雖說經(jīng)歷了各種困難,但我們都憑借各種途徑解決掉了,增加了項(xiàng)目協(xié)同開發(fā)的經(jīng)驗(yàn)的同時,我也覺得這就是一種自我提升的手段,相信對以后自己的工作中會有很大的用處的。
主站蜘蛛池模板: 嫖妓丰满肥熟妇在线精品 | 1024国产欧美日韩精品 | 人妻夜夜爽天天爽爽一区 | 苍井空浴缸大战猛男120分钟 | 91香蕉视频在线播放 | 在线电影亚洲 | 亚洲国产美女视频 | 成人永久免费视频 | 十八18禁国产精品www | 五月天天爽天天狠久久久综合 | 色八a级在线观看 | 欧美最大成人毛片视频网站 | 成人欧美一区二区三区1314 | 人妻人人做人碰人人添 | 精品视频一区二区三区中文字幕 | 国产成人无码一二三区视频 | 日本mature乱子视频 | 国产偷倩视频 | 国产美女高清一级a毛片 | 免费黄色软件视频 | 在线精品国产一区二区三区 | 久久夜色精品国产亚洲av动态图 | 国产成人亚洲精品青草天美 | 国产成人午夜精华液 | 亚洲国产精品久久久久婷蜜芽 | 成人深夜福利在线播放不卡 | 无码a级毛片免费视频内谢 无码a级毛片免费视频内谢5j | 日韩a无v码在线播放免费 | 久久久久国产一级毛片高清板 | 人妻在线日韩免费视频 | 四虎影视www| 俺也操 | 久久99亚洲精品久久99 | 黑人上司粗大拔不出来电影 | 亚洲小视频 | 久久青青操| 大陆一级毛片免费视频观看 | 国产亚洲精品精品国产亚洲综合 | 99精品久久久久久 | 免费很黄无遮挡的视频 | 看免费人成va视频全 |