從iTunes中拉取podcast的評論資訊
其實是非常簡單的,不過中間走了好好彎路,唉……
參考以下Python程式碼:
# coding: utf-8
import httplib
podcast_id = "535367738"
store_front = "143465-2,12"
itunes_url = "/WebObjects/MZStore.woa/wa/customerReviews?sort=4&displayable-kind=4&id=%s" % podcast_id
user-agent = "iTunes/11.0.2 (Windows; Microsoft Windows 7 Ultimate Edition Service Pack 1 (Build 7601)) AppleWebKit/536.27.1"
host = "itunes.apple.com"
headers = {
'Host' : host,
"User-Agent" : user-agent,
'X-Apple-Store-Front' : store_front,
'X-Apple-Tz' : '-18000',
}
conn = httplib.HTTPConnection(host)
# conn.set_debuglevel(2)
conn.request('GET', itunes_url, headers=headers)
res = conn.getresponse()
print res.read()
conn.close()
podcast_id
- 即podcast的id,這裡以《科學脫口秀》為例
- 在url中以查詢字串的形式傳遞給server
- 可以在iTunes中對應的podcast頁面中找到
store_front
- iTunes商店的區域程式碼,預設是美國區,我這裡用的是中國區
- 從http請求的header裡面傳遞給server
- 這個值應該可以有地方可以查到,不過我是抓取iTunes連線網路的http包查到的,抓包工具是Fiddler2
- iTunes中各個區域的評論是分開的,最開始沒注意這個,評論數遠遠少於預期的數量
itunes_url
- 這個就是podcast資訊頁面的url了,搜了好久才在這裡找到
- 這個值用在http請求中
- 注意這個url中有兩個查詢字串,displayable-kind 和 id,一個都不能少。displayable-kind和sort是查詢結果的顯示方式和排序,sort值為4表示按時間順序(新的在前)。如果沒有displayable-kind或值不為4,會返回204。
- 剛開始一直不明白為什麼會204,以為是header的問題,結果不是
user-agent
- User-Agent這個很關鍵,只有當UA是iTunes時才會返回html程式碼;否則,會返回launch客戶端的程式碼,在瀏覽器中的表現就是彈出視窗提示開啟iTunes軟體
剩下的就是用httplib這個模組去獲取http資訊了,程式碼只有基本的功能,沒有任何的錯誤處理。
相關文章
- 爬蟲實踐之獲取網易雲評論資料資訊爬蟲
- API 獲取商品評論?API
- 從資料字典中獲取ash資訊
- 爬取東方財富股吧中評論資料
- JavaScript基礎 釋出評論/刪除評論/獲取時間JavaScript
- 利用GitExtensions從GitHub推送或拉取程式碼Github
- Sql server:從XML檔案中讀取配置資訊SQLServerXML
- python 爬取騰訊視訊的全部評論Python
- feapder框架爬取ks評論_遞迴的方式框架遞迴
- 淘寶API分享:獲取淘寶商品評論API
- Lua從電腦端爬取短影片評論並作商業化分析
- 【RocketMQ】訊息的拉取MQ
- MongoDB 在評論中臺的實踐MongoDB
- Spark拉取Kafka的流資料,轉插入HBase中SparkKafka
- Python爬取貓眼評分9.5的《海王》的3萬條評論Python
- 【Python爬蟲實戰】使用Selenium爬取QQ音樂歌曲及評論資訊Python爬蟲
- 如何利用 Selenium 爬取評論資料?
- RocketMQ中PullConsumer的訊息拉取原始碼分析MQ原始碼
- Docker拉取映象時的疑惑Docker
- 從資訊瓶頸理論一瞥機器學習的“大一統理論”機器學習
- Apple App Store API 快速獲取app綜合評分,最新評論APPAPI
- RocketMQ -- 訊息拉取MQ
- Docker拉取映象太慢Docker
- 拉取遠端分支
- 《拉吉:遠古傳奇》評測:從古印度神話故事走出的冒險
- MongoDB在vivo評論中臺的應用案例MongoDB
- 關於一張比特幣有趣評論–資訊圖比特幣
- 什麼是PodcastAST
- docker使用代理拉取映象的配置Docker
- MFC中獲取程式自身的版本資訊
- AWR 中 top sql 的資訊獲取 - 分析SQL
- (slam工具)2 從照片讀取GNSS資訊SLAM
- 評論:從國外雲端計算的政府支援說開去
- GitOps中推送與拉取兩種風格的區別 – thenewstackGit
- 配置kuernetes叢集pod拉取私有映象倉庫中的映象
- Python 獲取網易雲音樂熱門評論Python
- Git 拉取 origin 分支Git
- Git 拉取遠端分支Git