Day 17 網路和爬蟲

2021-10-25 08:50:35 字數 2267 閱讀 8137

day 17

網路協議(物件為客戶端和伺服器)

網路中部署了各種各樣的伺服器,客戶端通過url(請求位址)找到指定的伺服器

url

不同的協議代表著不同的資源查詢方式和傳輸方式,其中:

存放資源的主機(伺服器)的ip位址(一般為網域名稱,網域名稱就是對ip位址進行包裝)

資源在主機(伺服器)中的具體位置

http協議

協議說明

http協議規定客戶端和伺服器的資料傳輸規範,讓客戶端和伺服器能夠有效的進行資料溝通

1.簡單快速(http協議簡單,所以http伺服器的程式規模小,通訊速度快)

2.靈活(http協議允許傳輸各種各樣的資料)

3.非持續性連線(限制每次連線只能處理乙個請求,伺服器對客戶端請求做出響應後,馬上斷開連線,節省傳輸時間)

1.客戶端給伺服器傳送請求,索要資料

請求頭:對客戶端的環境描述、客戶端的請求資訊,例如:get /path http/1.1 - 包含請求方法、請求資源路徑、http協議版本

*user-agent:客戶端的型別,客戶端的軟體環境(表明訪問者的身份)

accept:客戶端能夠接收到的資料型別,例如:text/html、*/*(表示所有型別的資料)

accept-language:客戶端的語言環境,例如:zh-cn

accept-encoding:客戶端支援的資料壓縮格式,例如:gzip

請求體:客戶端傳送給伺服器的具體資料,例如:檔案資料(post請求)

2.伺服器響應客戶端的請求,返回相應資料

響應頭:對伺服器的描述和對返回資料的描述,例如:http/1.1 200 ok - 包含http協議版本、*狀態碼、狀態英文名稱

請求體:客戶端傳送給伺服器的具體資料,例如:檔案資料(post請求)

狀態碼

簡單的狀態碼說明

請求方法
方法:

引數:客戶端傳送給伺服器的具體資料,例如:登入賬號密碼

get - 在請求url後面以?形式跟上傳送給伺服器的資料,多個引數之間用&隔開,例如:長度有限,url後面附帶的引數是有限制的,通常不能超過1kb;不安全

post - 傳送給伺服器的資料全部放在請求體中

get和post的選擇(針對伺服器程式設計師):

大量資料只能用post;包含機密資料用post;僅僅索取資料(資料查詢)建議使用get

爬蟲requests庫

requests是python用來傳送http請求的第三方庫(urllib)

步驟:1.傳送請求,獲取響應

2.獲取相應內容

引數詳解

在傳送請求時客戶端吧傳送給伺服器的資料就是引數

傳參方式:

1.拼接url(只有get可以使用) - 將引數以"引數名 = 值"的形式通過?拼接到url後面,多個引數用&連線

2.給引數params賦值(get和post都可以使用) - 將引數以鍵值對的形式建立乙個字典,然後將字典賦給params

製作請求頭

在直接請求不能訪問時可以通過新增引數的方法訪問外,還可以通過製作請求頭來進行請求的傳送

一般通過設定user-agent和cookie來製作

url =

""header =

response = requests.get(url, headers=header)

if response.status_code ==

200:

print

(response.text)

else

:print

('failure'

)print

(response)

17 網路基礎

今天聽網易公開課 linux入門 網路基礎,做一下記錄 網路編址 目的是區分網路上的每一台主機,目前主流方案是ip編址。乙個ipv4編制分2個部分 網路部分和主機部分。網路部分用來標識所屬區域,主機部分用來標識該區域中的主機。閘道器 路由 主要是跨網段間的資料傳輸。www一般預設是網頁服務位址,還有...

08 網路爬蟲

原理 httprequest 新聞伺服器 dom 文件 爬蟲應用 dom 解析 資料庫 網路爬蟲之dom解析 document element elements jsoup html 解析器 匯入jsoup 1.6.3.jar 網路爬蟲的步驟 1 網路請求 請求url 2 得到dom文件 docum...

0302網路爬蟲

1 正規表示式 通用的字串表達框架,簡潔表達一組字串的表示式。針對字串表達 簡潔 和 特徵 思想的工具。判斷某字串的特徵歸屬。主要應用在字串匹配中 正規表示式在文字處理中常用 表達文字型別的特徵 病毒 入侵等 同時查詢或替換一組字串 匹配字串的全部或部分。正規表示式的使用 編譯 將符合正規表示式語法...