【python项目开发】爬虫基础知识
爬蟲,早有耳聞。整個世界就像一張巨大的蜘蛛網,而爬蟲就是在描述這種千絲萬縷的關系。持續更新,梳理。
越偉大,越有獨創精神的人越喜歡孤獨。(赫胥黎)
爬蟲
爬蟲就是模擬客戶端(瀏覽器)發送網絡請求,獲取響應,按照規則提取數據的程序。對于爬取到的數據可以呈現在網頁或APP上,也可以對其進行數據分析尋找規律。
(一)URL
瀏覽器的請求
比如在瀏覽器隨意做個搜索,這里搜索“爬蟲”,空白處右鍵->審查元素->Network->F5->左側Name欄選擇一項,觀察右側Headers->General->Request URL,即為請求的URL(對應一個網址)。
“?”后面的就是參數,參數之間以”&”隔開。
瀏覽器請求URL地址對應的響應
在下圖Elements里的元素就是瀏覽器得到的響應。
瀏覽器請求URL地址過程:當服務器響應之后(network下找到對應的地址->response),這些字符串被渲染顯示到屏幕上,但是瀏覽器會發現響應字符串中有很多URL地址,緊接著又會請求,于是就會顯示很多Elements。 但是爬蟲的話不會得到這么多Elements,只會得到一個服務器返回的響應。
總結如下:瀏覽器請求url地址,得到elements下面的內容(當前url地址對應的響應 + 圖片 + css + js)。 爬蟲請求url地址,得到當前url地址對應的響應(network–>reponse或者查看網頁源碼的內容)
HTTP與HTTPS
HTTP:超文本傳輸協議。明文傳輸的(數據不加密直接傳輸)
HTTPS:HTTP+SSL(安全套接字層)。以密文傳輸的,傳輸的數據是經過加密的,接收方需經過解密之后才能得到加密前的數據。
因此HTTP的效率要高于HTTPS,但是不安全。
請求行
請求行就是General中的內容
Request URL:請求的url。
Request Method:請求的方式。 get或者post方式
Status Code:狀態碼。返回200表示正確
Referrer Policy:表示你是哪里進入這個頁面的
請求頭
點擊view source
主要參數:
GET:表示是get方式請求的,后面的值是路徑和參數 。
connection:keep-alive。 表示可以建立常鏈接 。
Cache-Control:緩存控制。max-age=0 表示不緩存任何東西 。
User-Agent(重要):用戶代理。服務器得知是誰在請求它,什么平臺下的什么版本瀏覽器,或者程序 。
Cookie(重要):用來存儲用戶信息,每次請求都會發送給對方瀏覽器。 訪問需要登錄的頁面時,對方會根據Cookie來判斷是不是爬蟲。
請求體
請求體是攜帶數據的,get請求沒有請求體,post請求有請求體。get請求的攜帶的數據直接通過參數給出了。 post請求常用于登陸注冊 ;post請求攜帶的數據量比get請求大與多,常用于傳輸大文本的時候。
響應頭
主要看Set-Cookie字段:對方服務器通過該字段設置cookie到本地。
抓包
指在network里面查找需要的東西的過程。
(二)requests庫
Python中的一個HTTP網絡請求庫,用來簡化網絡請求!
常見reponse方法:
response.text:打印返回的數據
response.content:打印返回的數據
response.status_code:返回狀態碼
response.request,headers:返回請求頭
response.headers:返回響應頭
附作者:Python爬蟲獲取豆瓣網評分Top200的電影——親測可用,網址
https://download.csdn.net/download/qq_35778860/56379309
說明:本文是從《python項目案例開發從入門到實戰》書中總結而來,如有疑問,還望各位同仁與前輩指正。
附作者相關研究:
Python:
Python實現線性回歸、邏輯回歸、KNN、SVM、樸素貝葉斯、決策樹、K-Means7種機器學習算法的經典案例——親測可用,鏈接
https://download.csdn.net/download/qq_35778860/20715889
Python實現飛機大戰的完整代碼——親測可用,鏈接
https://download.csdn.net/download/qq_35778860/57165535
Python爬蟲獲取豆瓣網評分Top200的電影——親測可用,鏈接
https://download.csdn.net/download/qq_35778860/56379309
Python根據下拉選項繪制雷達圖和柱形圖(異常預控平臺)——親測可用,鏈接
https://download.csdn.net/download/qq_35778860/20715210
Python根據下拉選項繪制雷達圖和柱形圖(異常預控平臺)——親測可用,鏈接
https://download.csdn.net/download/qq_35778860/20715210
python實現雷達圖——親測可用,鏈接
https://download.csdn.net/download/qq_35778860/20695215
基于python的北京房屋出租數據可視化分析與3D展示——親測可用,鏈接
https://download.csdn.net/download/qq_35778860/20675051
基于Python設計的web接口聊天機器人
https://download.csdn.net/download/qq_35778860/66662593
用Python進行自然語言處理(中文).rar
https://download.csdn.net/download/qq_35778860/63652414
《機器學習實戰》全書python代碼——很全很完整
https://download.csdn.net/download/qq_35778860/62203534
Python3實現十大排序算法
https://download.csdn.net/download/qq_35778860/61630851
C#
成績管理系統(C/S結構的應用系統,含access數據庫)——C#實現
https://download.csdn.net/download/qq_35778860/66967387
C#實現學生信息管理系統(包括增刪改查功能)——親測可用
https://download.csdn.net/download/qq_35778860/61620149
Matlab
極限學習機ELM+OSELM+KELM+半監督SSELM+USELM的matlab程序(附完整代碼)
https://download.csdn.net/download/qq_35778860/56378533
P+近鄰KNN+LS最小二乘算法的matlab代碼——親測可用(含實例)
https://download.csdn.net/download/qq_35778860/56378309
基于matlab的卷積神經網絡實現手寫數字識別
https://download.csdn.net/download/qq_35778860/66667747
基于MATLAB的人工蜂群算法
https://download.csdn.net/download/qq_35778860/66665944
利用MATLABsilulink搭建有源電力濾波器仿真.zip
https://download.csdn.net/download/qq_35778860/63659150
動態規劃MATLAB程序.zip
https://download.csdn.net/download/qq_35778860/63658838
基于matlab的模式識別基礎實例源代碼.zip
https://download.csdn.net/download/qq_35778860/63658486
Matlab_動態窗口法實現機器人在障礙環境下的模擬避碰仿真.zip
https://download.csdn.net/download/qq_35778860/63658232
bp神經網絡整定pid參數matlab應用程序.rar
https://download.csdn.net/download/qq_35778860/63656174
利用深度學習的matlab程序編碼仿真實現圖像分割.zip
https://download.csdn.net/download/qq_35778860/63655267
Java
基于java的信息管理系統
https://download.csdn.net/download/qq_35778860/66658535
Java swing學生成績系統(源碼+數據庫腳本).rar
https://download.csdn.net/download/qq_35778860/63653951
Jsp
jsp學生信息管理系統(源碼+數據庫腳本).zip
https://download.csdn.net/download/qq_35778860/63653655
SCN
隨機配置網絡SCN實現的matlab代碼——親測可用
https://download.csdn.net/download/qq_35778860/61636684
BLS
寬度學習BLS的matlab代碼+Mnist數據集
https://download.csdn.net/download/qq_35778860/61635045
Mysql
Mysql增刪改查代碼操作,很全很完整——親測可用
https://download.csdn.net/download/qq_35778860/61626574
C
基于單片機的交通燈控制系統設計(含代碼,原理圖)——C語言實現
https://download.csdn.net/download/qq_35778860/60383113
基于單片機的溫度控制系統設計代碼(含代碼,原理圖)——C語言實現
https://download.csdn.net/download/qq_35778860/60379923
郭天祥51單片機書中400例程——親測可用
https://download.csdn.net/download/qq_35778860/58014293
其他
微信轉盤抽獎小程序源碼.rar
https://download.csdn.net/download/qq_35778860/63652890
總結
以上是生活随笔為你收集整理的【python项目开发】爬虫基础知识的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SQL Server 2008 R2与J
- 下一篇: python微信群聊机器人_python