MOOC Python網路爬蟲與資訊提取Week1

2021-08-19 15:17:26 字數 3969 閱讀 7713

常見異常:

response 返回所有的網頁內容

r.raise_for_status() 如果不是200,產生異常requests.httperror

import requests

def gethtmltext(url):

try:

r = requests.get(url, timeout=30)

r.raies_for_status() # 狀態不是200 ,引發httperror

return r.text

except:

return "產生異常"

if_name_ == "_main_":

url = ""

print(gethtmltext(url))

requests.request(method,url,**kwargs)

method: 請求方式,對應get/put/post等7種

url: 擬獲取頁面的url鏈結

**kwargs: 控制訪問的引數,共13個

eg.r=requests.request('get',url,**kwargs)

r=requests.request('options',url,**kwargs)獲取伺服器客戶端引數

**kwargs:控制訪問的引數,均為可選項

星號開頭表示可選,需要命名呼叫

params:字典或位元組序列,作為引數增加到url中

kv=

r=requests.request(『get』,』 params=kv)

print(r.url)

data:字典、位元組序列或檔案物件,作為request的內容

kv=

r=requests.request(『get』,』 params=kv)

body = 『主體內容』

r = requests.request(『post』,』data=body)

json:json格式的資料,作為request的內容

kv=

r=requests.request(『post』,』 json=kv)

headers:字典,http定製頭

hd = 瀏覽器版本

r = requests.request(『post』, 『 headers=hd)

高階功能

5.cookies: 字典或cookiejar,request中的cookie

6.auth:元組,支援http認證功能

7. files: 字典型別,傳輸檔案

fs =

r = requests.request(『post』,』 files=fs)

8. timeout: 設定超時時間,秒為單位

r = requests.request(『get』,』『, timeout=10)

9. proxies: 字典型別,設定訪問**伺服器,可以增加登入認證

**ip,防止逆追蹤

10.allow_redirects: true/false, 預設為true,重定向開關

12.verify: true/false,預設為true,認證ssl證書開關

13. cert:本地ssl證書路徑

requests.get(url,params=none,**kwargs)

最常用requests.post(url,data=none,json=none,**kwargs)

url:擬更新頁面的url鏈結

data:字典、位元組序列或檔案,request的內容

json:json格式的資料,request的內容

**kwargs:11個控制訪問的引數

requests.put(url,data=none,**kwargs)

url:擬更新頁面的url鏈結

data:字典、位元組序列或檔案,request的內容

**kwargs:12個控制訪問的引數

get 請求獲取url位置的資源

head 請求獲取url為止資源的響應資訊報告,即獲得該資源的頭部資訊

用很少的網路流量獲取網路資源的概要資訊

r = requests.head('')    

r.headers

...

r.text

post 請求獲取url位置的資源後附加新的資料,不改變現有內容

向url post乙個字典自動編碼為form(表單)

payload =     

r = requests.post('', data = payload)

print(r.text)

,

}

向url post乙個字串自動編碼為data

r = quests.post('',data = 'abc')    

print(r.text)

,

}

put 請求向url位置儲存乙個資源,覆蓋原url位置的資源

payload =     

r = requests.put('', data = payload)

print(r.text)

,

}

patch 請求**區域性更新**url位置的資源,即改變該處資源的部分內容

delete 請求刪除url位置儲存的資源

雲端→使用者:get head

使用者→雲端: put post patch delete

假設url位置有一組資料userinfo(包括userid username)等

需求:使用者修改username,其他不變

採用patch 僅向url提交username的區域性更新

採用put 必須將所有20欄位一併提交

http協議:

http,hypertext transfer protocol,超文字傳輸協議

http是基於「請求與響應」模式的、無狀態的應用層協議。

採用url作為定位網路資源的標識,url是通過http協議訪問資源的internet路徑。url對應乙個資料資源。

• 介紹robots.txt協議

• 爬蟲例項

由於網路安全限制,很難向url發起put patch delete

最常用:get 特別大的:head 來獲得概要

import requests

def gethtmltext(url):

try:

r = requests.get(url, timeout=30)

r.raies_for_status() # 狀態不是200 ,引發httperror

return r.text

except:

return "產生異常"

if_name_ == "_main_":

url = ""

print(gethtmltext(url))

網路連線有風險 異常處理很重要 :d

MOOC Python語言基礎與應用

容器型別 字典 dict 貼標籤的資料 標籤收納盒 給資料貼上標籤,就可以通過具有特定含義的名字或者別的記號來獲取資料。現實生活中的字典 通過標籤 或者關鍵字 來索引資料,區別於列表或元組通過連續的整數來索引 ps 注意區別 標籤 key 和資料值 value 字典容器中儲存著一系列的key val...

網路爬蟲(1) 爬蟲與HTTP

聚焦爬蟲 聚焦爬蟲是根據指定的需求抓取網路上指定的資料。例如 獲取豆瓣上電影的名稱和影評,而不是獲取整張頁面中所有的資料值。增量式爬蟲 增量式是用來檢測 資料更新的情況,且可以將 更新的資料進行爬取 後期會有章節單獨對其展開詳細的講解 即 有權規定 中哪些內容可以被爬蟲抓取,哪些內容不可以被爬蟲抓取...

mooc python網路資訊獲取第一周

一 環境 idle,subline text,pycharm,anaconda spyder。二 requests庫 1.安裝 cmd pip install requests 2.七方法 requests.request method,url kwarge 構造請求支撐以下各種方法的基礎方法,me...