爬蟲往往就是指網絡爬蟲(又被稱爲網頁蜘蛛,網絡機器人,在FOAF社區中間,更經常的稱爲網頁追逐者),是一種按照一定的規則,自動地抓取萬維網信息的程序或者腳本。另外一些不常使用的名字還有螞蟻、自動索引、模擬程序或者蠕蟲。Python是爬蟲技術應用最主流的編程語言,所以學習Python技術就能夠掌握爬蟲技術。
面對各種各樣的培訓機構,我們需要去實地進行考察,看看講師怎麼樣,課程安排如何,學習氛圍好不好之類的,一定要多問問這家Python培訓機構之前的學員,看看就業薪資水平高不高。
最近開始整理python的資料,會陸續放到博客中存檔。找了幾個qq羣,其中有一個QQ羣302521268。後面就沒怎麼加羣了,還是需要看官方文檔爲主
用過Python的都知道,Python寫爬蟲是件很簡單的事情。但是有些人還是不瞭解爬蟲是什麼,會納悶爲什麼寫爬蟲時要設置什麼請求頭、請求體之類的,要怎麼樣去發送請求等等。
大家可以理解爲在網絡上爬行的一直蜘蛛,互聯網就比作一張大網,而爬蟲便是在這張網上爬來爬去的蜘蛛咯,如果它遇到資源,那麼它就會抓取下來。想抓取什麼?這個由你來控制它咯。
比如它在抓取一個網頁,在這個網中他發現了一條道路,其實就是指向網頁的超鏈接,那麼它就可以爬到另一張網上來獲取數據。這樣,整個連在一起的大網對這之蜘蛛來說×××,分分鐘爬下來不是事兒。
爬蟲的基本流程
用戶獲取網絡數據的方式:
方式1:瀏覽器提交請求--->下載網頁代碼--->解析成頁面
方式2:模擬瀏覽器發送請求(獲取網頁代碼)->提取有用的數據->存放於數據庫或文件中
爬蟲要做的就是方式2:
1.發起請求
使用http庫向目標站點發起請求,即發送一個Request
Request包含:請求頭、請求體等
Request模塊缺陷:不能執行JS 和CSS 代碼
2.獲取響應內容
如果服務器能正常響應,則會得到一個Response
Response包含:html,json,圖片,視頻等
3.解析內容
解析html數據:正則表達式(RE模塊),第三方解析庫如Beautifulsoup,pyquery等
解析json數據:json模塊
解析二進制數據:以wb的方式寫入文件
4.保存數據
數據庫(MySQL,Mongdb、Redis)