標籤:

0x6:爬蟲

##爬蟲

這一章將會介紹使用一些新的模塊(optparse,spider)去完成一個爬蟲的web應用。爬蟲其實就是一個枚舉出一個網站上面的所有鏈接,以幫助你創建一個網站地圖的web應用程序。而使用Python則可以很快的幫助你開發出一個爬蟲腳本.

你可以創建一個爬蟲腳本通過href標籤對請求的響應內容進行解析,並且可以在解析的同時創建一個新的請求,你還可以直接調用spider模塊來實現,這樣就不需要自己去寫那樣多的代碼了:

這裡有幾個參數你需要去了解一下,不然上面這段腳本是無法成功運行的:"myspider(b=URL.strip(), w=200, d=5, t=5)"這個函數將會返回兩個列表:子url鏈接與路徑。你也可以自己修改myspider函數裡面的參數:

b — 基本的web URL(默認: 無) w — 抓取的數量 (默認: 200) d — 抓取的深度層級 (默認: 5) t — 設置線程數 (默認: 無)

這篇文章主要是先介紹一個web爬蟲的入門基礎,web資源千變萬化。所以未來在博客的其他文章裡面再深入的講述攻擊web伺服器一些更高級的案例;

圖中的python爬蟲腳本代碼片段:

#!/usr/bin/pythonnfrom spider import webspider as myspidernimport sys, optparsen ndef crawler(URLs):n for line in open(URLs, r):n URL = line.strip()n links = myspider(b=URL.strip(), w=200, d=5, t=5)n link_count = len(links[0])n out = URL+": has a link count of "+str(link_count)n print "[+] Web Crawl Results for: "+URLn print outn for item in links[1]:n print itemn ndef main():n# optparse模塊允許你通過參數選項來調用那段代碼n# 這裡我使用 -r選項並且內容會保存在URLs變數裡面n# 當使用-r參數的使用腳本會去讀取指定的文件夾n parser = optparse.OptionParser(sys.argv[0]+ + n -r <file_with URLs>)n parser.add_option(-r, dest=URLs, type=string, n help=specify target file with URLs)n (options, args) = parser.parse_args()n URLs=options.URLsn n if (URLs == None):n print parser.usagen sys.exit(0)n else:n crawler(URLs)n nif __name__ == "__main__":n main()n

  • spider模塊

推薦閱讀:

碎片化學習Python的又一神作:termux
Fluent Python 筆記(三):高效操作序列
Python入門到精通視頻課程(5)
python3下安裝aiohttp遇到過的那些坑
【視頻】字元串,今天你學習了嗎

TAG:Python教程 |