知道創宇筆試題

使用python編寫一個網站爬蟲程序,支持參數如下:

spider.py -u url -d deep -f logfile -l loglevel(1-5) 
--testself -thread number --dbfile  filepath  --key=”HTML5”

參數說明:

-u 指定爬蟲開始地址

-d 指定爬蟲深度

--thread 指定線程池大小,多線程爬取頁面,可選參數,默認10

--dbfile 存放結果數據到指定的數據庫(sqlite)文件中

--key 頁面內的關鍵詞,獲取滿足該關鍵詞的網頁,可選參數,默認爲所有頁面

-l 日誌記錄文件記錄詳細程度,數字越大記錄越詳細,可選參數,默認spider.log

--testself 程序自測,可選參數

 

功能描述:

1、指定網站爬取指定深度的頁面,將包含指定關鍵詞的頁面內容存放到sqlite3數據庫文件中

2、程序每隔10秒在屏幕上打印進度信息

3、支持線程池機制,併發爬取網頁

4、代碼需要詳盡的註釋,自己需要深刻理解該程序所涉及到的各類知識點

5、需要自己實現線程池

 

提示1:使用re  urllib/urllib2  beautifulsoaup/lxm2  threading optparse Queue  sqlite3 logger  testdoc等模塊

提示2:注意是“線程池”而不僅僅是多線程

提示3:爬去sina.com.cn兩級深度要能正常結束

 

建議程序可分階段,逐步完成編寫,例如:

版本1:Spider1.py -u url -d deep

版本2:Spider3.py -u url -d deep -f logfile -l loglevel(1-5)  --testself

版本3:Spider3.py -u url -d deep -f logfile -l loglevel(1-5)  --testself -thread number

版本4:剩下所有功能

 

以上題目事實上也是知道創宇技術崗位內部題目,入職第一週會再次考本題目,完不成將面臨淘汰。
你可以通過看書、上網查資料、請教高人等任何方法完成,時間不限。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章