データ・マイニング:Requestsモジュール


Pythonを学ぶ仲間が「爬虫類」から穴に入っていることに気づき、爬虫類技術でよく使われるRequestsライブラリの文章を共有しました.Requestsライブラリからの発明者Kenneth Reitz.
かつて、ネットワーク爬虫類を作成するには、まず「urllib」ライブラリを導入してから、さまざまなスイートを行う必要があり、煩雑で複雑でした.ここでは不思議な「requests」ライブラリを紹介し、大神Matt DeBoardの言葉で言えば「I’m going to get Kenneth Reitz’s Python requests module tatooed on my body,somehow.The whole thing.」
# -*- coding: utf-8 -*-
#Requests      
#    :    
import requests
r = requests.get('https://www.baidu.com')   #  requests   get      ,    Response  
#     http    
r = requests.get('url')    #get  
r = requests.post('url', data = {'key':'value'})    #post  
r = requests.delete('url')    #delete  
r= requests.head('url')    #head  
r = requests.options('url')    #options  

#    : URL     
payload = {'key1':'value1', 'key2':['value2','value3']}
r = requests.get('http://www.baidu.com', 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)

#     
headers = {'user-agent':'my-app/0.1'}
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)     #