Python網路爬蟲與資訊提取(第一周)

2021-09-19 10:47:59 字數 4026 閱讀 7721

ps:官方文件

1)安裝

pip install requests

2)來段**

import requests  #匯入requests庫

r = requests.get(

'')r.status_code #檢視請求狀態,訪問成功狀態碼為200

r.encoding =

'utf-8'

#將頁面編碼轉成utf-8

r.text#檢視網頁內容

type

(r)r.headers#獲取get請求獲得的頭部資訊

3)requests庫的7個主要方法方法

說明requests.request()

構造乙個請求,支撐一下個方法的基礎方法

requests.get()

獲取html網頁的主要方法,對應於http的get

requests.head()

獲取html網頁頭資訊的方法,對應於http的head

requests.post()

向html網頁提交post請求的方法,對應於http的post

requests.put()

向html網頁提交put請求的方法,對應於http的put

requests.patch()

向html網頁提交區域性修改請求,對應於http的patch

requests.delete()

向html網頁提交刪除請求,對應於http的delete

4)理解resquests庫的異常異常

說明requests.connectionerror

網路連線錯誤異常,如dns查詢失敗、拒絕連線等

http錯誤異常

requests.urlrequired

url缺失異常

requests.toomanyredirects

超過最大重定向次數,產生重定向異常

requests.connecttimeout

遠端連線伺服器超時異常

requests.timeout

請求url超時,產生超時異常

r.raise_for_status()

如果不是200,產生異常requests.httperror

5)爬取網頁的通用**框架

import requests

defgethtmltext

(url)

:try

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

r.raise_for_status(

)#如果狀態不是200,引發httperror異常

return r.text

except

:return

"產生異常"

if __name__==

"__main__"

: url =

""print

(gethtmltext(url)

)

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

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

http協議採用url作為定位網路資源的標識。

2)url格式

url格式:http://host[:port][path]
host:合法的internet主機網域名稱或ip位址

port:埠號,預設埠為80

path:請求資源的路徑

3)http協議對資源的操作方法

說明get

請求獲取url位置的資源

head

請求獲取url位置的資源的響應訊息報告,即獲得該資源的頭部資訊

post

請求向url位置的資源後附加的資料

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

patch

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

delete

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

4)http協議與requests庫

http協議方法

requests庫的方法

功能一致性

getrequests.get()

一致head

requests.head()

一致post

requests.post()

一致put

requests.put()

一致patch

requests.patch()

一致delete

requests.delete()

一致

import requests

keyword =

'python'

try:

kv =

r = requests.get(

"/s"

,params=kv)

print

(r.request.url)

r.raise_for_status(

)print

(len

(r.text)

)except

:print

('爬取失敗'

)

360搜尋全**

import requests

keyword =

'python'

try:

kv =

r = requests.get(

"",params=kv)

print

(r.request.url)

r.raise_for_status(

)print

(len

(r.text)

)except

:print

('爬取失敗'

)

網路的爬取及儲存

import requests

import os

url =

""root =

"d://pic//"

path = root + url.split(

'/')[-

1]try:

ifnot os.path.exists(root)

: os.mkdir(root)

ifnot os.path.exists(path)

: r = requests.get(url)

with

open

(path,

'wb'

)as f:

f.write(r.content)

f.close(

)print

("檔案儲存成功"

)else

:print

("檔案已存在"

)except

:print

("爬取失敗"

)

ip位址歸屬地的自動查詢

import requests

url =

""try:

r = requests.get(url+

'202.204.80.112'

) r.raise_for_status(

) print

(r.text[

-500:]

)except

:print

("爬取失敗"

)

Python網路爬蟲與資訊提取(2) 爬蟲協議

上一節學習了requests庫,這一節學習robots協議 宣告robots協議,一般放在 的根目錄下,robots.txt檔案 京東robots鏈結 user agent disallow disallow pop html disallow pinpai html?user agent etao...

python網路爬蟲(四) 資訊標記與資訊提取

方式 說明應用領域 xml最早的通用資訊標記語言,可擴充套件性好,但繁瑣 internet上資訊的互動與傳遞 json 資訊有型別,適合程式處理 js 比xml簡潔 移動應用雲端和節點的資訊通訊,無注釋 yaml 資訊無型別,文字資訊比例最高,可讀性好 各類系統的配置檔案,有注釋易讀 二.資訊提取的...

Python網路爬蟲與資訊提取MOOC學習 預備

一 ide 概念 integrated development environment整合開發環境 提供了程式開發環境的應用程式,一般包括 編輯器 編譯器 偵錯程式和圖形使用者介面等工具。整合了 編寫功能 分析功能 編譯功能 除錯功能等一體化的開發軟體服務套。二 python的ide分類 文字工具類...