數據分析系列——數據分析入門(二)
1 人贊了文章
本系列學習內容來自DC學院(首頁-專業的大數據在線課程學習平台-DC學院 :邀請碼UZK98M),非原創,特此註明。一方面,幫助自己理清學習框架;另一方面,課程有時間限制,做好筆記,以便後續繼續學習。第一次付費學習的課程,必須認真!
註:默認已經成功安裝Anoconda,Jupter notebook可以使用
基於API的爬蟲
1.基於API爬蟲的一般步驟
(1)在網站註冊開發者賬戶用戶名,獲得開發者秘鑰
(2)在API幫助文檔中找到自己需要的API,確定API請求的限制次數,確認調用API需要使用的參數
(3)聯網狀態下,編寫代碼正確調用API
(4)從API返回內容(JSON)中獲取所需屬性
(5)將獲取的內容存儲到本地
豆瓣API的說明
豆瓣API說明
豆瓣電影條目API說明
通過API來爬取豆瓣電影的評分
#利用python讀取urlimport urllib.request as urlrequesturl_visit = https://api.douban.com/v2/movie/26387939crawl_content = urlrequest.urlopen(url_visit).read()#解析JSON代碼import jsonjson_content = json.loads(crawl_content.decode(utf8)rating = jason_content[rating][average]#將數據存儲到本地id = 26387939with open("movie_score.txt", "a") as outputfile: outputfile.write("{} {}
".format(id, rating))#"a"表示在文件後面添加,"w"表示新建文件
獲取多部電影的評分
import urllib.request as urlrequestimport jsonid_list=[26387939,11803087,20451290]#創建一個寫入評分的文件 douban_movie_rank.txtwith open("douban_movie_rank.txt","w") as outputfile: for id in id_list: url_visit = https://api.douban.com/v2/movie/{}.format(id) crawl_content = urlrequest.urlopen(url_visit).read() json_content = json.loads(crawl_content.decode(utf8)) rank=json_content[rating][average] outputfile.write("{} {}
".format(id, rank))
根據名字爬取電影評分
import urllibimport urllib.request as urlrequestimport jsonname_list=[異形:契約,摔跤吧!爸爸,速度與激情8]for name in name_list: #這裡需要將中文名轉換為網頁鏈接中能夠讀取的編碼 id=urllib.parse.quote(name) url_visit= https://api.douban.com/v2/movie/search?q={}.format(id) crawl_content = urlrequest.urlopen(url_visit).read() json_content = json.loads(crawl_content.decode(utf8)) rank=json_content[subjects][0][rating][average] print( "{} {}
".format(name,rank))
基於API的爬蟲代碼比較簡單,可實現的功能有限。實際應用中,更多的是基於網頁的爬蟲,下一節進行介紹。
推薦閱讀:
※手游數據分析的必備思路(二)
※如何靠數據分析「上位」?——一位銀行業務分析專家的實踐
※一個簡單實例帶你輕鬆入門EXCEL數據分析
※誰說菜鳥不會數據分析-工具篇
※馬云:數據分析師會被人工智慧替代,你怎麼看?
