爬蟲之requests模組的入門使用

2021-12-30 08:59:23 字數 2316 閱讀 5368

為什麼要重點學習requests模組,而不是urllib

- requests的底層實現就是urllib

- requests在python2 和python3中通用,方法完全一樣

- requests簡單易用

- requests能夠自動幫助我們解壓(gzip壓縮的等)網頁內容

## requests模組傳送簡單的get請求並獲取響應

# 需求: 通過requests向百度首頁傳送請求,獲取百度首頁的資料.

import requests

# 向目標url傳送get請求

r = requests.get("")

# 列印響應內容 r -> response 指的是響應

print(r.content)response.text 和response.content的區別

- response.text:

型別:str

解碼型別: 根據http 頭部對響應的編碼作出有根據的推測,推測的文字編碼

如何修改編碼方式:response.encoding=」gbk」

response.content:

型別:bytes

解碼型別: 沒有指定

如何修改編碼方式:response.content.deocde(「utf8」)

獲取網頁原始碼的通用方式:

r.content.decode()

r.content.decode(「gbk」)

r.text

傳送帶header的請求

import requests

url = ''

response = requests.get(url)

print(response.content)

# 列印響應對應請求的請求頭資訊

print(response.request.headers)header的形式:字典

headers = 用法

requests.get(url, headers=headers)完整的**

import requests

url = ''

headers =

# 在請求頭中帶上user-agent,模擬瀏覽器傳送請求

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

# print(response.content)

# 列印請求頭資訊

print(response.request.headers)請求引數的形式:字典

kw = 請求引數的用法

requests.get(url,params=kw)關於引數的注意點 :

在url位址中, 很多引數是沒有用的,比如百度搜尋的url位址,其中引數只有乙個字段有用,其他的都可以刪除 如何確定那些請求引數有用或者沒用:挨個嘗試! 對應的,在後續的爬蟲中,越到很多引數的url位址,都可以嘗試刪除引數

兩種方式:傳送帶引數的請求

1. 對/swd=python發起請求可以使用requests.get(url, params=kw)的方式

# 方式一:利用params引數傳送帶引數的請求

import requests

headers =

# 這是目標url

# url = '/swd=python'

# 最後有沒有問號結果都一樣

url = '/s'

# 請求引數是乙個字典 即wd=python

kw =

# 帶上請求引數發起請求,獲取響應

response = requests.get(url, headers=headers, params=kw)

# 當有多個請求引數時,requests接收的params引數為多個鍵值對的字典,比如 'wd=python&a=c'-->

print(response.content)2.也可以直接對/swd=python完整的url直接傳送請求,不使用params引數

# 方式二:直接傳送帶引數的url的請求

import requests

headers =

url = '/swd=python'

# kw =

# url中包含了請求引數,所以此時無需params

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

爬蟲之requests模組

requests 唯一的乙個非轉基因的 python http 庫,人類可以安全享用。警告 非專業使用其他 http 庫會導致危險的 包括 安全缺陷症 冗餘 症 重新發明輪子症 啃文件症 抑鬱 頭疼 甚至死亡。今日概要 知識點回顧 為什麼要使用requests模組 使用requests模組 如何使用...

爬蟲之requests模組

pip install requests import requests ret requests.get url 原函式 get url,params none,kwargs ret.encoding utf 8 指定解析資料是使用的編碼格式 print ret.content 響應的資料,byt...

爬蟲之requests模組2

今日內容 知識點回顧 引入 coding utf 8 import requests if name main 張三人人網個人資訊頁面的url url 偽裝ua headers 傳送請求,獲取響應物件 response requests.get url url,headers headers 將響應...