close

【requests】學Python爬蟲真的好簡單一次學到好之requests一篇文章速成:requests get post headers cookies session proxies verify timeout 一次到位

一、前言

想學好python爬蟲requests套件基本上是不可少的,

今天就一次學到位,可以把這篇當成字典使用,

對應狀況使用對應的方法code幾乎可以解決大多數,

通常就是requests的get、post及session保留cookies的會話訪問,

之後再取得html進行解析,不然就是遇到需要帳密登入的狀況,

或者遇到需要驗證的網頁,此時該怎麼跳過等等...,看完這篇大解析字典,觀念全開。

 

進入基本教學前,不要忘了訂閱按讚分享唷!

部落格教學網站:
https://pixnashpython.pixnet.net/blog
想要即時訂閱最新文章:
https://forms.gle/MdXmiF2HgHhNChL46
訂閱Telegram來接收最新資訊:
https://t.me/joinchat/VUUuDt67Uq5l6CIQ

 

 

二、requests常用方法大解析


其實今天想搞好爬蟲就容易遇到就下面幾個狀況,搞懂找到相應的方法就輕鬆很多了,

通常大多數就是遇到下面幾種狀況,然後在找藏資料的網址跟解析html就需要經驗。

一起看看這一篇速成大解析!如果有不懂的可以留言給我唷!

(1) request post

(2) requests 帳密登入

(3) requests session 會話

(4) requests 保留cookies

(5) requests headers

(6) requests 跳過驗證

(7) requests 取得請求狀態

(8) requests 取得當前cookies 使用cookies

(9) requests 使用代理伺服器proxies

(10) requests 使用帳密登入後繼續訪問

 

常用程式碼

import requests

# 基本使用 GET 請求
url = 'https://...............'
re = requests.get(url)


# 夾帶header請求
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)'} 
re = requests.get(url, headers=headers)


# 取得當前網頁HTML
get_html = re.text


# 取得目前url
get_url = re.url


# 取得請求狀態
get_status = re.status_code


# 取得當前cookies
cookies = re.cookies


# 顯示請求的headers
re.request.headers


# 帳密登入的網頁
username = 'username'
password = 'password'
re = requests.get(url, auth=(username, password))


# POST請求夾帶資料
form_data = {'key1': 'value1', 'key2': 'value2'}
re = requests.post(url, data=form_data)


# 請求時給予時間限制
requests.get(url, timeout=3) # 超過3秒就放棄


# 關閉憑證檢查
re = requests.get(url, verify=False)


# 使用其他代理Proxy訪問
proxies = {'http': 'ip:port', 
           'https': 'ip:port'} 
re = requests.get(url, proxies=proxies)


# 給予cookie 拜訪
cookies = {'cookie_name': 'cookie_value'} 
re = requests.get(url, headers=headers, cookies=cookies)


# 會話方式拜請網站 保留上次的cookies
session = requests.session() # 實體化會話
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)'} 
form_data = {'key1': 'value1', 'key2': 'value2'}
re = session.post(url, headers=headers, data=form_data)
re = session.get(url)


 

 

三、後記


萬事可以把這個當成字典來使用,忘記的時候就看一下,如果有哪裡需要解釋或是例子的話可以留言告訴我!

 

部落格教學網站:
https://pixnashpython.pixnet.net/blog
想要即時訂閱最新文章:
https://forms.gle/MdXmiF2HgHhNChL46
訂閱Telegram來接收最新資訊:
https://t.me/joinchat/VUUuDt67Uq5l6CIQ

 

arrow
arrow

    恩哥Python 發表在 痞客邦 留言(0) 人氣()