開始使用_Requests
繼上次的安裝環境後,現在可以開始使用了。
試著使用看看:
情境需求
- HTTP Request 用來下Http要求取得需要的url .html文件
- HTML Parser 用來分析html文件的內容,分類找出需要的資訊
- Regex(Regular Expression) 正規表示式
最後安裝
- import requests
- from bs4 import BeautifulSoup
- import HTMLParser (不過我是使用lxml)
第一步開始 參考的例子:
- Requests
- 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
|
測試或診斷伺服器收到的內容。
|
試著使用看看:
- 傳遞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
>>> print(r.url)
http://httpbin.org/get?key1=value1&key2=value2&key2=value3
** 這邊有個很重要的點:
在發送請求時,為了不要讓對方的伺服器明顯察覺出是爬蟲,必須要做最基本的偽裝。
這時候,最基本可以透過觀察瀏覽器的檢查,並進行瀏覽器模仿。
這時候,最基本可以透過觀察瀏覽器的檢查,並進行瀏覽器模仿。
cookies也可以用類似的方式來設置。
最後放上官方的例子:
SAMPLE
- 發送請求 取得網頁
>>> r = requests.get('https://api.github.com/user', auth=('user', 'pass'))
>>> r.status_code
200 (成功取得的代碼)
>>> r.status_code
200 (成功取得的代碼)
- 設置標頭
>>> r.headers['content-type']
'application/json; charset=utf8'
>>> r.encoding
'utf-8' (必須依照求得的文件檔做編碼,才不會變亂碼)
'application/json; charset=utf8'
>>> r.encoding
'utf-8' (必須依照求得的文件檔做編碼,才不會變亂碼)
- 格式轉換
>>> r.text
u'{"type":"User"...'
>>> r.json()
{u'private_gists': 419, u'total_private_repos': 77, ...}
u'{"type":"User"...'
>>> r.json()
{u'private_gists': 419, u'total_private_repos': 77, ...}
後記:
上一篇安裝爬蟲環境 下一篇加入BeautifulSoup
留言
張貼留言