首先爬蟲是什麼?
html
網絡爬蟲(又被稱爲網頁蜘蛛,網絡機器人,在FOAF社區中間,更常常的稱爲網頁追逐者),是一種按照必定的規則,自動的抓取萬維網信息的程序或者腳本。python
根據個人經驗,要學習Python爬蟲,咱們要學習的共有如下幾點:正則表達式
Python基礎知識shell
Python中urllib和urllib2庫的用法後端
Python正則表達式瀏覽器
Python爬蟲框架Scrapy緩存
Python爬蟲更高級的功能服務器
1.Python基礎學習cookie
首先,咱們要用Python寫爬蟲,確定要了解Python的基礎吧,萬丈高樓平地起,不能忘啦那地基,哈哈,那麼我就分享一下本身曾經看過的一些Python教程,小夥伴們能夠做爲參考。網絡
1) Python學習網
Python學習網上有大量免費的Python入門教程,以便你們學習。不只有視頻教程,還有相應的問答版塊,幫你解決學習過程當中的問題,效果仍是蠻不錯的,內容基本上都是最基礎的,入門開始的話,就這個吧
2) 廖雪峯Python教程
後來,我發現了廖老師的Python教程,講的那是很是通俗易懂哪,感受也是很是不錯,你們若是想進一步瞭解Python就看一下這個吧。
3) 簡明Python教程
還有一個我看過的,簡明Python教程,感受講的也不錯
學習網址:簡明Python教程(https://woodpecker.org.cn/abyteofpython_cn/chinese/pr01.html#s01)
4) 汪海的實驗室
這是個人本科實驗室學長,入門的時候參考的他的文章,本身從新作了總結,後來這些系列文章又在他的基礎上增長了一些內容。
學習網址:汪海的實驗室(https://blog.csdn.net/wxg694175346/category_1418998_1.html)
2.Python urllib和urllib2 庫的用法
urllib和urllib2庫是學習Python爬蟲最基本的庫,利用這個庫咱們能夠獲得網頁的內容,並對內容用正則表達式提取分析,獲得咱們想要的結果。這個在學習過程當中我會和你們分享的。
3.Python 正則表達式
Python正則表達式是一種用來匹配字符串的強有力的武器。它的設計思想是用一種描述性的語言來給字符串定義一個規則,凡是符合規則的字符串,咱們就認爲它「匹配」了,不然,該字符串就是不合法的。這個在後面的博文會分享的。
4.爬蟲框架Scrapy
若是你是一個Python高手,基本的爬蟲知識都已經掌握了,那麼就尋覓一下Python框架吧,我選擇的框架是Scrapy框架。這個框架有什麼強大的功能呢?下面是它的官方介紹:
HTML, XML源數據 選擇及提取 的內置支持
提供了一系列在spider之間共享的可複用的過濾器(即 Item Loaders),對智能處理爬取數據提供了內置支持。
經過 feed導出 提供了多格式(JSON、CSV、XML),多存儲後端(FTP、S三、本地文件系統)的內置支持
提供了media pipeline,能夠 自動下載 爬取到的數據中的圖片(或者其餘資源)。
高擴展性。您能夠經過使用 signals ,設計好的API(中間件, extensions, pipelines)來定製實現您的功能。
內置的中間件及擴展爲下列功能提供了支持:
cookies and session 處理
HTTP 壓縮
HTTP 認證
HTTP 緩存
user-agent模擬
robots.txt
爬取深度限制
針對非英語語系中不標準或者錯誤的編碼聲明, 提供了自動檢測以及健壯的編碼支持。
支持根據模板生成爬蟲。在加速爬蟲建立的同時,保持在大型項目中的代碼更爲一致。詳細內容請參閱 genspider 命令。
針對多爬蟲下性能評估、失敗檢測,提供了可擴展的 狀態收集工具 。
提供 交互式shell終端 , 爲您測試XPath表達式,編寫和調試爬蟲提供了極大的方便
提供 System service, 簡化在生產環境的部署及運行
內置 Web service, 使您能夠監視及控制您的機器
內置 Telnet終端 ,經過在Scrapy進程中鉤入Python終端,使您能夠查看而且調試爬蟲
Logging 爲您在爬取過程當中捕捉錯誤提供了方便
支持 Sitemaps 爬取
具備緩存的DNS解析器
官方文檔:http://doc.scrapy.org/en/latest/
等咱們掌握了基礎的知識,再用這個 Scrapy 框架吧!
扯了這麼多,好像沒多少有用的東西額,那就不扯啦!
知識點擴展:
爬蟲基本原理
爬蟲是 模擬用戶在瀏覽器或者App應用上的操做,把操做的過程、實現自動化的程序
當咱們在瀏覽器中輸入一個url後回車,後臺會發生什麼?好比說你輸入https://www.baidu.com
簡單來講這段過程發生瞭如下四個步驟:
查找域名對應的IP地址。
瀏覽器首先訪問的是DNS(Domain Name System,域名系統),dns的主要工做就是把域名轉換成相應的IP地址向IP對應的服務器發送請求。
服務器響應請求,發回網頁內容。
瀏覽器顯示網頁內容。
網絡爬蟲要作的,簡單來講,就是實現瀏覽器的功能。經過指定url,直接返回給用戶所須要的數據, 而不須要一步步人工去操縱瀏覽器獲取。
到此這篇關於python爬蟲基礎知識點整理的文章就介紹到這了,更多相關Python2爬蟲入門內容請搜索之前的文章或繼續瀏覽下面的相關文章但願你們之後多多支持!