1. 程式人生 > >Python爬蟲之Requests庫的基本使用

Python爬蟲之Requests庫的基本使用

  1 import requests
  2 response = requests.get('http://www.baidu.com/')
  3 print(type(response))
  4 print(response.status_code)
  5 print(type(response.text))
  6 print(response.text)
  7 print(response.cookies)
  8 
  9 # 各種請求方式
 10 import requests
 11 requests.post('http://httpbin.org/post')
 12 requests.put('
http://httpbin.org/put') 13 requests.delete('http://httpbin.org/delete') 14 requests.head('http://httpbin.org/get') 15 requests.options('http://httpbin.org/get') 16 17 # 基本GET請求 18 import requests 19 response = requests.get('http://httpbin.org/get') 20 print(response.text) 21 22 # 帶引數GET請求 23 import requests
24 response = requests.get('http://httpbin.org/get?name=germey&age=22') 25 print(response.text) 26 27 import requests 28 data = { 29 'name': 'germey', 30 'age': 22 31 } 32 response = requests.get('http://httpbin.org/get', params = data) 33 print(response.text) 34 35 # 解析json 36 import
requests 37 import json 38 response = requests.get('http://httpbin.org/get') 39 print(type(response.text)) 40 print(response.json()) 41 print(json.loads(response.text)) 42 print(type(response.json())) 43 44 # 獲取二進位制資料 45 import requests 46 response = requests.get('http://github.com/favicon.ico') 47 print(type(response.text), type(response.content)) 48 print(response.text) 49 print(response.content) 50 51 # 儲存圖片 52 import requests 53 response = requests.get('http://github.com/favicon.ico') 54 with open('1.ico', 'wb') as f: 55 f.write(response.content) 56 f.close() 57 58 # 新增headers 不新增的話會請求失敗的 59 import requests 60 response = requests.get('http://www.zhihu.com/explore') 61 print(response.text) 62 63 import requests 64 headers = { 65 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36' 66 } 67 response = requests.get('http://zhihu.com/explore', headers = headers) 68 print(response.text) 69 70 # 基本的POST請求 71 import requests 72 data = {'name': 'germey', 'age': 22} 73 response = requests.post('http://httpbin.org/post', data = data) 74 print(response.text) 75 76 import requests 77 data = {'name':'germey', 'age':22} 78 headers = { 79 'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36' 80 } 81 response = requests.post('http://httpbin.org/post', data = data, headers = headers) 82 print(response.json()) 83 84 # response屬性 85 import requests 86 response = requests.get('http://www.jianshu.com') 87 print(type(response.status_code), response.status_code) 88 print(type(response.headers), response.headers) 89 print(type(response.cookies), response.cookies) 90 print(type(response.url), response.url) 91 print(type(response.history), response.history) 92 93 # 檔案上傳 94 import requests 95 files = {'file':open('1.ico', 'rb')} 96 response = requests.post('http://httpbin.org/post', files = files) 97 print(response.text) 98 99 # 獲取cookie 100 import requests 101 response = requests.get('http://www.baidu.com') 102 print(response.cookies) 103 for key, value in response.cookies.items(): 104 print(key + ' = ' + value) 105 106 # 會話維持 模擬登陸 107 import requests 108 requests.get('http://httpbin.org/cookies/set/number/123456789') 109 response = requests.get('http://httpbin.org/cookies') 110 print(response.text) 111 112 import requests 113 s = requests.session() 114 s.get('http://httpbin.org/cookies/set/number/123456789') 115 response = s.get('http://httpbin.org/cookies') 116 print(response.text) 117 118 # 證書驗證 119 import requests 120 response = requests.get('https://www.12306.cn') 121 print(response.status_code)