爬蟲入門 1

2022-03-02 22:26:15 字數 2167 閱讀 2678

requests

方法說明

requests.request()

構造乙個請求,支撐以下各方法的基本方法

requests.get()

獲取html網面的方法

requests.head()

獲取html網頁頭部資訊的方法

requests.post()

向html網頁提交post請求的方法

requests.put()

向html頁面提交put請求的方法

requests.patch()

向html網頁提交區域性修改請求

requests.delete()

向html網頁提交刪除請求

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

params:url中的額外引數,字典或位元組流格式,可選

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

r = requests.get(url)

response物件包含伺服器反回的所有資訊,也包含請求的request資訊

response物件的屬性

屬性說明

r.stats_code

http請求的返回狀態,200表示連線成功

r.txt

http響應的字串形式

r.encoding

從http header中猜測的響應方式的內容編碼

從內容中分析出的響應內容編碼方式(備選編碼方式)

r.content

http響應內容編碼的二進位制形式

r.encoding:如果charset不存在,則預設編碼為iso-8859-1,r.text根據r.encoding顯示網頁內容

理解response異常

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

r.raise_for_status()在方法內部判斷r.statu_code是否等於200,不需要增加額外的if語句,該語句便於try-except進行異常處理
異常

說明requests.connectonerror

網路連線錯誤異常

http錯誤異常

requests.urlrequire

url缺失異常

requests.toomanyredirects

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

requests.connecttimeout

連線遠端伺服器異常

requests.timeout

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

import requests

#import time

def gethtmltext(url):

try:

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

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

#print(r.status_code)

return r.text

except:

return "產生異常"

if __name__ == '__main__':

url = ""

print(gethtmltext(url))

requests.request(method, url, **kwargs)
params:字典或位元組序列,作為引數增加到url中

json:json格式的資料

headers:http定製頭

cookies:字典或cookiejar,request中的cookie

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

file:字典型別,傳輸檔案

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

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

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

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

cert:本地ssl證書

scrapy 爬蟲入門(1)

pip install scrapy 就是這麼簡單 scrapy startproject words 會建立乙個words的專案目錄結構 words scrapy.cfg 專案的配置檔案 words 專案 init py items.py 專案的item檔案 pipelines.py 專案的pip...

Python爬蟲入門1

請求url 請求方式 post 請求頭cookie user agent 請求體utf8,authenticity token,login,password,webauthn support,commit請求url 請求方式 get請求頭 cookie user agent import re im...

Python爬蟲入門1 序章

老猿python博文目錄 老猿學爬蟲應該是2019年7月初開始的,學習了2個多月,寫了免費的 爬蟲專欄 在該專欄內爬蟲實戰應用的場景與網上大部分已知的場景基本都不一樣,是從復用 登入會話資訊來開發應用的。如果要從 登入開始寫應該也可以,但老猿沒有去做這方面的工作,因為網上有很多這樣的文章。老猿的這種...