爬蟲之requests模組2

2022-02-25 17:06:39 字數 2369 閱讀 5548

今日內容

知識點回顧

引入# -*- coding:utf-8 -*-

import requests

if __name__ == "__main__":

#張三人人網個人資訊頁面的url

url = ''

#偽裝ua

headers=

#傳送請求,獲取響應物件

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

#將響應內容寫入檔案

with open('./renren.html','w',encoding='utf-8') as fp:

fp.write(response.text)

一.基於requests模組的cookie操作

- cookie概念:當使用者通過瀏覽器首次訪問乙個網域名稱時,訪問的web伺服器會給客戶端傳送資料,以保持web伺服器與客戶端之間的狀態保持,這些資料就是cookie。

- cookie作用:我們在瀏覽器中,經常涉及到資料的交換,比如你登入郵箱,登入乙個頁面。我們經常會在此時設定30天內記住我,或者自動登入選項。那麼它們是怎麼記錄資訊的呢,答案就是今天的主角cookie了,cookie是由http伺服器設定的,儲存在瀏覽器中,但http協議是一種無狀態協議,在資料交換完畢後,伺服器端和客戶端的鏈結就會關閉,每次交換資料都需要建立新的鏈結。就像我們去超市買東西,沒有積分卡的情況下,我們買完東西之後,超市沒有我們的任何消費資訊,但我們辦了積分卡之後,超市就有了我們的消費資訊。cookie就像是積分卡,可以儲存積分,商品就是我們的資訊,超市的系統就像伺服器後台,http協議就是交易的過程。

- 經過cookie的相關介紹,其實你已經知道了為什麼上述案例中爬取到的不是張三個人資訊頁,而是登入頁面。那應該如何抓取到張三的個人資訊頁呢?

思路:1.我們需要使用爬蟲程式對人人網的登入時的請求進行一次抓取,獲取請求中的cookie資料

2.在使用個人資訊頁的url進行請求時,該請求需要攜帶 1 中的cookie,只有攜帶了cookie後,伺服器才可識別這次請求的使用者資訊,方可響應回指定的使用者資訊頁資料

# -*- coding:utf-8 -*-

import requests

if __name__ == "__main__":

#登入請求的url(通過抓包工具獲取)

post_url = ''

#建立乙個session物件,該物件會自動將請求中的cookie進行儲存和攜帶

session = requests.session()

#偽裝ua

headers=

formdata =

#使用session傳送請求,目的是為了將session儲存該次請求中的cookie

session.post(url=post_url,data=formdata,headers=headers)

get_url = ''

#再次使用session進行請求的傳送,該次請求中已經攜帶了cookie

response = session.get(url=get_url,headers=headers)

#設定響應內容的編碼格式

response.encoding = 'utf-8'

#將響應內容寫入檔案

with open('./renren.html','w') as fp:

fp.write(response.text)

二.基於requests模組的**操作

爬蟲中為什麼需要使用**

**的分類:

免費**ip提供**

**# -*- coding:utf-8 -*-

import requests

import random

if __name__ == "__main__":

#不同瀏覽器的ua

header_list = [

# 遨遊

,# 火狐

,# 谷歌,]

#隨機獲取ua和**ip

header = random.choice(header_list)

proxy = random.choice(proxy_list)

url = ''

#引數3:設定**

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

response.encoding = 'utf-8'

with open('daili.html', 'wb') as fp:

fp.write(response.content)

#切換成原來的ip

requests.get(url, proxies=)

三.基於multiprocessing.dummy執行緒池的資料爬取

爬蟲之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...

python爬蟲之requests模組

python中原生的一款基於網路請求的模組,功能非常強大,簡單便捷,效率極高,作用是模擬瀏覽器發請求。指定url 傳送請求 獲取相應資料 持久化儲存 pip install requestsimport requests 一 指定url url 二 傳送請求 三 用get請求返回乙個響應物件 res...