爬蟲實戰開發學習(一)
爬蟲實戰開發學習(一)
文章目錄
鴿子的自我修養 -Jerry Yu
呀嘞呀嘞?,一直都想學爬蟲,從上學期下定的決心,但一直考試周,壓縮考試耽誤(╬▔皿▔)╯,開始了開始了,不鴿了不鴿了(想起來就更新哦,儘量每週,兩到三更)
我要讓全世界知道我很低調!
—— Jerry Yu
學習爬蟲前的準備
掌握一些基本的常識啦
1.Http和Https的區別
2.什麼是URL,URN,URI
3.什麼是HTML,CSS,JavaScript
簡言之,
HTML(HyperText Markup Language):網頁的內容和結構
CSS(Cascading Style Sheets):網頁的樣式
JavaScript:網頁的行為,與使用者的互動
4.網頁點選F12進入開發者模式
自行百度瞭解掌握,什麼是以下的紅框框的內容
像是Cookie這樣的東西,要重點學習,會有大用處.?
一.選擇器
圖中可以看到,網頁的HTML原始碼中,基本內容都是通過id,class等物件進行巢狀組成的內容框架。那麼對於不同的位置,都設定了不同的id等名稱進行分開處理,我們想要定位到我們想要內容或者原始碼的位置,就要學會使用選擇和定位的函式。
CSS選擇器
1.在CSS中,我們使用CSS選擇器進行定位節點
<div id='hello'>
表示成 #hello
其中#開頭代表選擇id,其後緊跟id的名稱
2.如果是選擇class作為windows的節點
就可以使用
.windows
以點‘ . ’開頭代表選擇class,其後緊跟class的名稱
3.根據標籤名篩選
例如想要選擇二級標題,直接使用h2即可
4.CSS選擇器支援巢狀選擇
例如
#container.wrapper p
· 代表先選擇id為continer的節點
· 然後選中其內部的class為wrapper的節點
· 然後再進一步選中其內部的p節點
如果不加空格的話,代表並列關係
例如
div#container.wrapper p.next
· 代表先選擇id為container的div節點
· 然後選中其內部的class為wrapper的節點
· 再進一步選中其內部的class為text的p節點
5.CSS選擇器的其他語法規則
二.爬蟲的基本原理
爬蟲就是獲取網頁並提取和儲存資訊的自動化程式
爬蟲主要就是獲取網頁,即獲取網頁的原始碼
1.關鍵部分是:構造一個請求併傳送給伺服器,然後接收到相應後並將其解析出來
實現這種操作的庫有:urllib,requests等
2.分析原始碼,提取資訊
構造正規表示式
比較簡單,但是可能容易出錯
網頁結果具有一定規則,所以可以根據網頁節點屬性,CSS選擇器或XPath來提取網頁資訊的庫
如Beautiful Soup,pyquery,lxml等
可以高效的提取節點的屬性,文字值等
3.儲存資訊
可以儲存為TXT或者JSON文字
也可以儲存到資料庫MySQL,MongDB等
也可以儲存到遠端伺服器,藉助SFTP等進行操作
4.自動化程式
爬蟲代替人工來完成上述的爬取網頁的過程,可以進行各種異常處理,錯誤重試等操作,更加高效的執行
我們所抓取的資料格式多種多樣,包括文字,影像,視訊,音訊等,爬取後,儲存成對應的檔名
有時可能出現urllib或者requests得到的程式碼和瀏覽器並不同,現在越來越多的網頁採用Ajax,前端模組化工具進行構建,整個網頁利用JavaScripts渲染出來的,
即原本的HTML網頁就是空殼
對應的,我們可以分析其後臺的Ajax介面,也可以使用Selenium,Splash這樣的庫來實現模擬Javascript的渲染
呼~第一天的爬蟲就學到這裡啦❤
看似短小的一篇文章,花了將近一個多小時進行編寫
未來的暑假時間,持續更新,希望有所收穫,爬蟲更進一步,當然能“變現”就更好啦o((>ω< ))o
本文章學習的視訊為:Python 3網路爬蟲開發實戰(圖靈出品)
請大家多多支援原作者哈!
相關文章
- 《Python3 網路爬蟲開發實戰》—學習筆記Python爬蟲筆記
- Python爬蟲入門學習實戰專案(一)Python爬蟲
- python爬蟲實戰教程-Python爬蟲開發實戰教程(微課版)Python爬蟲
- python3網路爬蟲開發實戰_Python 3開發網路爬蟲(一)Python爬蟲
- 網路爬蟲——爬蟲實戰(一)爬蟲
- python3網路爬蟲開發實戰_Python3 爬蟲實戰Python爬蟲
- 《Python3網路爬蟲開發實戰》教程||爬蟲教程Python爬蟲
- 【Python學習】爬蟲爬蟲爬蟲爬蟲~Python爬蟲
- Python 3網路爬蟲開發實戰Python爬蟲
- [Python3網路爬蟲開發實戰] 分散式爬蟲原理Python爬蟲分散式
- 爬蟲專案實戰(一)爬蟲
- python3網路爬蟲開發實戰(配置踩坑及學習備忘)Python爬蟲
- Python爬蟲開發與專案實戰pdfPython爬蟲
- 《網路爬蟲開發實戰案例》筆記爬蟲筆記
- Python爬蟲開發與專案實戰(2)Python爬蟲
- Python爬蟲開發與專案實戰(1)Python爬蟲
- Python3網路爬蟲開發實戰Python爬蟲
- python爬蟲開發微課版pdf_Python爬蟲開發實戰教程(微課版)Python爬蟲
- 《從零開始學習Python爬蟲:頂點小說全網爬取實戰》Python爬蟲
- 爬蟲學習日記(一)爬蟲
- python爬蟲實操專案_Python爬蟲開發與專案實戰 1.6 小結Python爬蟲
- 不踩坑的Python爬蟲:Python爬蟲開發與專案實戰,從爬蟲入門 PythonPython爬蟲
- Python學習筆記——爬蟲之Scrapy專案實戰Python筆記爬蟲
- Python 開發簡單爬蟲 (學習筆記)Python爬蟲筆記
- python3網路爬蟲開發實戰pdfPython爬蟲
- 《python3網路爬蟲開發實戰》--pyspiderPython爬蟲IDE
- Python 爬蟲實戰Python爬蟲
- 爬蟲實戰scrapy爬蟲
- 《Python3網路爬蟲開發實戰》開源啦!Python爬蟲
- 《python 爬蟲開發與實戰》html基礎詳解Python爬蟲HTML
- 《Python 3網路爬蟲開發實戰》chapter3Python爬蟲APT
- 計算機書籍- 網路爬蟲開發實戰計算機爬蟲
- Python爬蟲開發與專案實戰--分散式程式Python爬蟲分散式
- python爬蟲實戰,爬蟲之路,永無止境Python爬蟲
- 爬蟲技術實戰爬蟲
- Puppeteer爬蟲實戰(三)爬蟲
- 爬蟲學習日記(六)完成第一個爬蟲任務爬蟲
- [Python3網路爬蟲開發實戰] Charles 的使用Python爬蟲