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的視頻(圖片太簡單),加點噱頭,多線程同時抓取不同頁面的,哦,寫好後記得把程式開源分享下!