基於API的爬蟲的一般步驟
- 在網站注冊開發者賬戶用戶名,獲得相應的開發者密鑰
- 在網站的API幫助說明文檔中找到自己需要使用的API,確認API請求的限制次數,確認調用API需要使用的參數
- 在聯網狀態下,編寫正確代碼調用API
- 從API返回的內容(JSON格式)獲取正確的屬性
- 將獲取的內容存儲到本地(文件或數據庫)
舉例:從豆瓣電影上爬取《摔跤吧,爸爸》電影的評分,並保存到本地
# 使用工具是Jupyter Notebook 和 Python3
第一步:利用Python讀取url的核心代碼如下:
import urllib.request as urlrequest url_visit = 'https://api.douban.com/v2/movie/26387939' crawl_content = urlrequest.urlopen(url_visit).read() print(crawl_content.decode('unicode-escape'))
第二步:利用 python 解析 JSON 代碼
import json
json_content = json.loads(crawl_content.decode('utf8'))
rating = json_content['rating']['average']
print(rating)
第三步:將數據存到本地
id=26387939
rating=json_content['rating']['average']
with open("movie_score.txt", "a") as outputfile:
outputfile.write("{} {}\n".format(id, rating))
說明:
- 這里我們想將電影的id和評分寫入文件,就先把兩個參數記錄下來。
- python中寫文件用
with open("文件名","a") as outputfile:的形式,這里文件名可以根據你的需要自行更改。 outputfile.write表示將數據寫入文件的操作,("{} {}\n".format(id,rating))是需要寫入文件的具體內容,使用format()以固定形式組織id和rating的值,放入我們設定好的位置"{} {}"中(\n表示換行)。
