數據挖掘_requests模塊的get方法

關於requests模塊

以前在跟你們講經過字典列表批量獲取數據的時候用過這個模塊html

安裝過程就再也不講解了python

requests模塊是python的http庫,能夠完成絕大部分與http應用相關的工做,因此咱們能夠用它來進行數據抓取工做json

requests模塊有兩個經常使用的方法,get 和 post 咱們也主要只是圍繞這兩個方法來說解requests模塊瀏覽器

 

注意:requests不能模擬瀏覽器的所有行爲服務器

 

get方法

在requests模塊中,咱們能夠經過get和post兩種形式去向服務器發出http請求post

例如,仍是用我本身的網站作例子,來簡單演示這個方法網站

 

# coding=utf-8
__Author__ = "susmote"

import requests

url = "http://www.susmote.com"
resp = requests.get(url)

with open("home.html", 'w', encoding='utf8') as f:
    f.write(resp.text) 

  

在命令行運行編碼

 

咱們獲得了一個文件,也就是個人網站的首頁的源碼url

咱們經過瀏覽器打開,以下命令行

 

resp還有一些其餘的屬性,你可經過help(resp)查看response的各類屬性和方法

返回以下圖

 

咱們試一下里面的一些屬性

 

 

編碼問題

在這裏要特別注意一下編碼的問題

經過resp.encoding 能夠返回默認編碼,resp.text就是按照這個進行編碼的

 

但若是將編碼改成gb2312,就會出現亂碼

 

 

response具備content屬性,會以二進制的方式返回響應的內容,返回內容以下圖所示

 

 

response還有json方法,能夠將返回的文本內容以json的方式進行解析

http://jsonip.com 這個網站在接受get請求後,做爲響應會向請求方法返回一個json格式的文本,裏面會有發起請求的ip地址等信息

例以下面這個例子

# coding=utf-8
__Author__ = "susmote"

import requests

url = "http://jsonip.com/"
resp_ip = requests.get(url)

print("字符串格式")
print(resp_ip.text)
print(type(resp_ip))

print("字典格式")
print(resp_ip.json())
print(type(resp_ip))

print(resp_ip.text) 

  

下面咱們在命令行運行這個文件

 

在這個例子中,resp_ip的text包含了返回的文本信息,json格式的信息也是以文本的方式返回的,這個能夠從返回結果中看出

resp_ip.json()是使用json方法對返回的內容進行解析,將json解析的結果以字典的形式返回,但要注意的是json方法只是解析,並不會對resp.text形成影響,也就是以前的resp.text的內容是不變的

 

關與get方法大概就是這些,還有一些後面再講

 

官方博客 www.susmote.com

相關文章
相關標籤/搜索