python基础爬虫的框架以及详细的运行流程
網絡爬蟲是什么?
網絡爬蟲就是:請求網站并提取數據的自動化程序
網絡爬蟲能做什么?
網絡爬蟲被廣泛用于互聯網搜索引擎或其他類似網站,可以自動采集所有其能夠訪問到的頁面內容,以獲取或更新這些網站的內容和檢索方式。
網絡爬蟲還被用于爬取各個網站的數據,進行分析、預測
近幾年來,大量的企業和個人開始使用網絡爬蟲采集互聯網的公開數據,進行數據分析,進一步達到商業目的。
利用網絡爬蟲能從網上爬取什么數據?
可以好不吹噓的說,平時從瀏覽器瀏覽的所有數據都能被爬取下來。
網絡爬蟲是否合法?
上面說到了爬蟲可以爬取任何數據,那么,爬取數據這種行為是否合法?
目前關于爬取數據的法律還在建立和完善中,如果爬取的數據屬于個人使用或者科研范疇,基本不存在什么問題;一旦要用于商業用途就得注意了,有可能會違法。互聯網界對于網絡爬蟲也建立了一定的道德規范(Robots協議)來約束。
這里具體看下Robots協議
Robots協議規定各個搜索引擎哪些頁面可以抓取,哪些頁面不能抓取,Robots協議雖然沒有被寫入法律,但是每一個爬蟲都應該遵守這項協議。
下面是淘寶網的robots協議:
從圖中我們就可以發現淘寶網對百度的爬蟲引擎做出了規定,然而百度也會遵守這些規定,不信你可以試試從百度是找不到淘寶里的商品信息的。
python爬蟲的基本流程
Python爬蟲的基本流程非常簡單,主要可以分為三部分:(1)獲取網頁;(2)解析網頁(提取數據);(3)存儲數據。
簡單的介紹下這三部分:
- 獲取網頁就是給一個網址發送請求,該網址會返回整個網頁的數據。類似于在瀏覽器中輸入網址并按回車鍵,然后可以看到網站的整個頁面。
- 解析網頁就是從整個網頁的數據中提取想要的數據。
- 存儲數據顧名思義就是把數據存儲下來,我們可以存儲在文本中,也可以存儲到數據庫中。
###基礎爬蟲的框架以及詳細的運行流程
基礎爬蟲框架主要包括五大模塊,分別是爬蟲調度器、URL管理器、HTML下載器、HTML解析器、數據存儲器。這五大模塊之間的關系如下圖所示:
下來我們來分析這五大模塊之間的功能:
- 爬蟲調度器主要負責統籌其他四個模塊的協調工作。
- URL管理器負責管理URL鏈接,維護已經爬取的URL集合和未爬取的URL集合, 提供獲取新URL鏈接的接口。
- HTML下載器用于從URL管理器中獲取未爬取的URL鏈接并下載HTML網頁。
- HTML解析器用于從HTML下載器中獲取已經下載的HTML網頁,并從中解析出新 的URL鏈接交給URL管理器,解析出有效數據交給數據存儲器。
- 數據存儲器用于將HTML解析器解析出來的數據通過文件或者數據庫的形式存儲起來。
詳細的運行流程如下圖所示:
總結
以上是生活随笔為你收集整理的python基础爬虫的框架以及详细的运行流程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: UML图系列——用例图
- 下一篇: 两款爱不释手的markdown编辑工具