開始使用_Requests

繼上次的安裝環境後,現在可以開始使用了。

情境需求
  1. HTTP Request     用來下Http要求取得需要的url .html文件
  2. HTML Parser       用來分析html文件的內容,分類找出需要的資訊
  3. Regex(Regular Expression)   正規表示式
最後安裝
  1. import requests
  2. from bs4 import BeautifulSoup
  3. import HTMLParser  (不過我是使用lxml)
第一步開始 參考的例子:

  • Requests
         第一步驟開始,需要先取得目標.html,因此先來看看要怎麼使用Requests。


  1. HTTP發送請求

GET
 r = requests.get('https://github.com/timeline.json')

  請求指定頁面(url),返回實體於本機。
POST
  r = requests.post("http://httpbin.org/post")

  向指定url提交data處理請求(表單form/上傳)data包含在請求體中,可能會造成新增或修改。
PUT
  r = requests.put("http://httpbin.org/put")

  client端到server端傳送數據取代文檔內容。
DELETE
  r = requests.delete("http://httpbin.org/delete")

  請求server刪除指定頁面。
HEAD
  r = requests.head("http://httpbin.org/get")

  請求指定介面的標頭內容。
OPTION
  r = requests.options("http://httpbin.org/get")

  允許client端觀看伺服器性能。
CONNECT
  預留給能改變連接管道的代理伺服器。
TRACE
  測試或診斷伺服器收到的內容。

試著使用看看:



  1. 傳遞URL參數

payload = {'key1': 'value1', 'key2': ['value2', 'value3']}
>>> r = requests.get('http://httpbin.org/get', params=payload)
>>> print(r.url)
http://httpbin.org/get?key1=value1&key2=value2&key2=value3

** 這邊有個很重要的點:
在發送請求時,為了不要讓對方的伺服器明顯察覺出是爬蟲,必須要做最基本的偽裝。
這時候,最基本可以透過觀察瀏覽器的檢查,並進行瀏覽器模仿。


cookies也可以用類似的方式來設置。

最後放上官方的例子:
SAMPLE
  1. 發送請求    取得網頁
>>> r = requests.get('https://api.github.com/user', auth=('user', 'pass'))
>>> r.status_code
200 (成功取得的代碼)

  1. 設置標頭
>>> r.headers['content-type']
'application/json; charset=utf8'
>>> r.encoding
'utf-8' (必須依照求得的文件檔做編碼,才不會變亂碼)

  1. 格式轉換
>>> r.text
u'{"type":"User"...'
>>> r.json()
{u'private_gists': 419, u'total_private_repos': 77, ...}


後記: 
上一篇安裝爬蟲環境  下一篇加入BeautifulSoup

留言

熱門文章