發現學習python的小夥伴都是從「爬蟲」入坑的,這裡就分享一篇爬蟲技術常用的requests庫的文章。來自requests庫的發明者kenneth reitz。
曾幾何時,製作網路爬蟲需要先導入「urllib」庫,然後再進行各種套用,繁瑣而複雜。現在介紹神奇的"requests"庫,用大神matt deboard的話說就是:「i』m going to get kenneth reitz』s python requests module tattooed on my body, somehow. the whole thing.」
# -*- coding: utf-8 -*-
#requests模組使用介紹
#第一部分:發出請求
import requests
r = requests.get('') #使用requests模組的get函式獲取**,返回乙個response物件
#各種不同的http請求格式
r = requests.get('url') #get請求
r = requests.post('url', data = ) #post請求
r = requests.delete('url') #delete請求
r= requests.head('url') #head請求
r = requests.options('url') #options請求
#第二部分:在url中傳遞引數
payload =
r = requests.get('', params=payload) #使用params關鍵字引數將這些引數作為字典值提供
print(r.url) #列印已編碼好的url
#第三部分:響應內容
r.encoding #檢視返回的請求物件的編碼,也可以修改編碼形式
r.text #文字編碼
r.content #為了方便html和xml可以在編碼中查詢制定內容,使用-content檢視編碼
#第四部分:二進位制響應內容
r.content #對於非文字請求,以位元組為單位響應正文
from pil import image
from io import bytesio
i = image.open(bytesio(r.content)) #從請求返回的二進位制資料建立映像
#第五部分:json響應內容
r = requests.get('url')
r.json() #處理json資料
r.raise_for_status 或者 r.status_code #用來檢查是否響應成功
#第六部分:響應原始內容
r = requests.get('url', stream = true)
r.raw
r.raw.read(10)
#自定義標題
r = requests.get(url, headers = headers) #指定的headers=設定將覆蓋原設定
r.headers #檢視伺服器的響應頭
r.headers['content-type'] #訪問特定頭資訊
#cookie相關
r.cookies['example_cookie_name'] #訪問響應的cookie
cookies = dict(cookie_are='working')
r = requests.get(url, cookies=cookies) #將自己的cookie傳送到伺服器
#第七部分:其他內容
r = request.head('url', allow_redirects=true) #允許重定義
r = request.get('url', timeout=0.001) #超時設定
資料探勘 requests庫
import requests r requests.get print r 返回text型別資料 print r.text 返回二進位制型別資料 print r.content import random import requests headers應該是乙個字典,通常用於欺騙 useragen...
requests模組入門
requests庫是比urllib更加方便實用的http第三方庫,它支援http連線保持和連線池,支援使用cookie保持會話,支援檔案上傳,支援自動響應內容的編碼,支援國際化的url和post資料自動編碼。requests.request 構造乙個方法,它是支撐以下各方法的基礎方法。request...
使用requests模組簡單獲取資料
1 1 2 url 3 2.4 response requests.get url url 5 3.6 page text response.text7 4.8 with open sogou.html w encoding utf 8 as fp 9 fp.write page text 1 im...