1. 程式人生 > >入門級用Python寫一個簡單的網路爬蟲下載和獲取資料

入門級用Python寫一個簡單的網路爬蟲下載和獲取資料

學會如何使用API
通過url(Uniform Resource Locator 統一資源定位符)連線網路,獲取網站的API
獲取url儲存的API,request執行獲取的url
requests.get(url) 
定義一個變數,將API響應儲存在裡面,呼叫json將r儲存的api轉換成字典
rd = r.json()    


如何在網站上下載檔案
可以呼叫這個方法urllib.request.urlopen("http://placekitten.com/g/800/800"),開啟網站,將這個api存放在一個變數response裡
再定義一個變數file_img 呼叫response.read()來讀取那個網站的資訊,儲存到file_img
呼叫with open('cat_800_800.jpg','wb') as f: 
    f.write(cat_img)
寫入這個檔案
檢視網站資訊,可以列印api存放的變數,出現網站連線,也可以用這樣的方法a = response.geturl()   print(a)




以下是完整程式碼
import urllib.request


response = urllib.request.urlopen("http://placekitten.com/g/800/800")//後面的800/800是可以修改的,不同的數值下載的內容就不一樣
cat_img = response.read()
print(response)
with open('cat_800_800.jpg','wb') as f:
    f.write(cat_img)
a = response.geturl()
print(a)
這裡會下載一個小貓的圖片


下面是利用爬蟲訪問獲取網站,瀏覽網站的資訊
這裡的Demo用的是有道翻譯的資料
import urllib.request
import urllib.parse


url = 'http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule&smartresult=ugc'
'''可以在瀏覽器上右擊檢視的原始碼'''
data = {
    "type": "AUTO",
    "i": "sentence",//這裡可以輸入你想翻譯的字串
    "doctype": "json",
    "xmlVersion": "2.1",
    "keyfrom": "fanyi.web",
    "ue": "UTF-8",
    "action": "FY_BY_CLICKBUTTON",
    "typoResult": "true"
}#這些引數要設對了


data = urllib.parse.urlencode(data).encode('utf-8')     #把Unicode形式轉換成utf-8


response = urllib.request.urlopen(url,data)
html = response.read().decode('utf-8')   #轉碼 將utf-8解碼成unicode的形式


print(html)    #打印出json結構的資料