最近準備用python做一個網路爬蟲的畢業設計求建議?

來源:互聯網
上載者:User
python小白,準備5個月時間做出效果。求建議比如做出來針對什麼。具體做為 什麼應用。流程之類的。實在是很小。白,求指點

回複內容:

做爬蟲,特別是python寫說容易挺容易,說難也挺難的,
舉個栗子 簡單的:將http://paste.ubuntu.com上面的所有代碼爬下來
寫個for迴圈,調用urllib2的幾個函數就成了,基本10行到20行以內的代碼
難度0
情景:
1.網站伺服器很卡,有些頁面打不開,urlopen直接就無限卡死在了某些頁面上(2.6以後urlopen有了timeout)
2.爬下來的網站出現亂碼,你得分析網頁的編碼
3.網頁用了gzip壓縮,你是要在header裡面約定好預設不壓縮還是頁面下載完畢後自己解壓
4.你的爬蟲太快了,被伺服器要求停下來喝口茶
5.伺服器不喜歡被爬蟲爬,會對對header頭部瀏覽器資訊進行分析,如何偽造
6.爬蟲整體的設計,用bfs爬還是dfs爬
7.如何用有效資料結構儲存url使得爬過的頁面不被重複爬到
8.比如1024之類的網站(逃,你得登入後才能爬到它的內容,如何擷取cookies
以上問題都是寫爬蟲很常見的,由於python強大的庫,略微加了一些代碼而已
難度1
情景:
1.還是cookies問題,網站肯定會有一個地方是log out,爬蟲爬的過程中怎樣避免爬到各種Log out導致session失效
2.如果有驗證碼才能爬到的地方,如何繞開或者識別驗證碼
3.嫌速度太慢,開50個線程一起耙梳站資料
難度2
情景:
1.對於複雜的頁面,如何有效提取它的連結,需要對Regex非常熟練
2.有些標籤是用Js動態產生的,js本身可以是加密的,甚至奇葩一點是jsfuck,如何爬到這些
難度3
總之爬蟲最重要的還是類比瀏覽器的行為,具體程式有多複雜,由你想實現的功能和被爬的網站本身所決定
爬蟲寫得不多,暫時能想到的就這麼多,歡迎補充我的畢設也是爬蟲,從畢設角度講下。首先唯寫個爬蟲是很簡單的,所以要加一點噱頭。比如多線程,比如智能。其次既然要做一個爬蟲,要事先和導師交流下。萬一導師的意思是叫你寫個搜尋引擎,而你寫了個爬蟲,那就不好了。最後,寫幾個頁面來展示爬蟲的結果,既可以增加代碼量,也可以充實論文。看scrapy文檔,非常好用。加點難度,實現個分布式的爬蟲,同時要寫好用戶端和服務端的管理,再配合前端頁面管理工作和伺服器。。
網頁的資料要是抓著沒意思,可以抓抓APP的資料⊙▽⊙Request+Bs4看我的簽名,裡面有很多案例,供你快速搞定採集,不信來辯!我也正在寫 先抓資料 再進行資料分析 最後在網頁上呈現 大致這個思路 看看pyspider:binux/pyspider · GitHub
也許能找到點靈感。。簡單的爬蟲不到20行就可以寫出來。httplib加上正則。
畢設最重要的一個是點子,一個是技術。這兩個部分可以結合,也可以互補。
如果僅僅是一個爬蟲,可以從多線程,分布式這些方面考慮。談談效能,這方面可以說的很深,畢設也會很有營養。最後寫一個漂亮的UI,妥妥的A+有木有。
如果有好的點子,實現一項或者多項特別的功能。技術上欠缺一些也OK。畢設想要做得好,可以從兩個方面考慮
1. 項目技術好,有深度
2. 項目有實際價值,就是能夠應用到生活中來
所以要麼你的爬蟲在技術上很niubility
要麼你的爬蟲抓取到的資料,it's useful
當然資料本身是不會說話的,你得把資料整理、分析,最後得出結論,那你的畢設也是棒棒的了,這樣在技術上差一些也沒什麼關係比如爬取某liu的視頻(圖片太簡單),加點噱頭,多線程同時抓取不同頁面的,哦,寫好後記得把程式開源分享下!

  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.