3 2網路資料獲取

2021-09-26 03:38:52 字數 751 閱讀 8317

用requests庫的get()函式抓取乙個你平時經常使用的**主頁,並檢視該**的爬蟲協議(如果有的話)。預設答案是正確,你成功了嗎?(●』◡』●)

抓取**情況多樣,有時還會很複雜,這需要長期的積累,不能一蹴而就,列舉幾種情況:

a.假設獲取的是二進位制檔案,則可以借鑑如下方法儲存資料:

fp.write(r.content)b. 為了反爬,有些**會對headers的user-agent進行檢測,需將headers資訊傳遞給get函式的headers引數,例如知乎,直接訪問會返回400,加上headers引數後可正確返回:

import requests

re = requests.get('')

print(re.status_code)

# headers可從http測試**或瀏覽器的「開發者工具」獲得

re = requests.get('', headers = headers)

print(re.status_code)

反爬的策略還有很多,需要逐漸熟悉,有些**要想獲得資料還需要登入,需要分析登入需要的屬性。

c. 被js渲染過的頁面內容獲取

可以通過瀏覽器的「開發者工具」功能尋找真正提供資料的頁面,有時會有一定的難度。

day08 網路獲取資料

0servlet 什麼是servlet 解決什麼問題 接收http請求 產生乙個http響應 怎麼寫乙個servlet 建立乙個類 繼承httpservlet 重寫兩個方法 doget dopost httpservletrequest httpservletresponse 怎麼能訪問到servl...

20155232《網路對抗》Exp7 網路欺詐防範

本實踐的目標理解常用網路欺詐背後的原理,以提高防範意識,並提出具體防範方法。具體實踐有 1 簡單應用set工具建立冒名 1分 2 ettercap dns spoof 1分 3 結合應用兩種技術,用dns spoof引導特定訪問到冒名 1.5分 netstat tupln grep 80指令檢視80...

9 1 1 網路模型

9.1.1 osi七層模型。1.應用層 一般指應用程式,該層主要負責確定通訊物件。常用協議有ftp,http,snmp 2.表示層 資料的編碼和轉化,根據不同的應用目的將資料處理為不同格式,表現出各種副檔名。3.會話層 負責在網路中的兩個結點之間建立,維護,控制會話。提供單工,半雙工,全雙工 x,h...