Python爬蟲學習之API與模擬ajax請求

API的使用

——通過API向服務器請求數據

優點:簡單直接,高效率地批量爬取;解決動態網頁的爬取。
缺點:通過API的缺點是有些網站會限制API調用的次數和頻率,用戶需要付費來升級成高級用戶來獲取更靈活的API調用。

HTTP協議

  • 在HTTP協議下,客戶端和服務端通過交換各自的消息進行交互。由像瀏覽器這樣的客戶端發出的消息叫做請求(requests),被服務端迴應的消息叫做響應(responses)。
  • 關於請求需要關注的:
      method:POST GET 等,描述要執行的動作
      URL:其中的參數 [url]?參數名1=參數值1&參數名2=參數值2…
      status code:2開頭:成功(200 OK);4開頭:請求錯誤(404 Not Found);5開頭:服務器問題(500 Internal Server Error)
  • 關於響應需要關注的:
      Content-Type:服務器迴應的報文內容類型,我們如何解析和存儲數據?image/png;text/html;application/javascript…
      響應的內容:是我們需要的數據嗎?(以及是否需要解碼)

應用程序編程接口(Application Programming Interface,API)

  • 規範化的請求和響應;
  • 不同的應用程序提供不同的API,爲程序員提供方便友好的接口以供訪問;
  • 程序員可以用HTTP協議向API發送請求以獲取信息,API會用XML或JSON格式返回服務器響應的信息,通過API獲取的信息可以與網絡爬蟲獲取的信息組合起來。

可擴展標記語言(eXtensible Markup Language,XML)

  • 一種很像HTML的標記語言,但其標籤沒有被預定義,需要自行定義標籤;
  • 與HTML不同,其設計宗旨是傳輸數據,而不是顯示數據。

Java 對象表示(JavaScript Object Notation,JSON)

  • 採用完全獨立於編程語言的文本格式來存儲和表示數據
  • 對象使用花括號括起來,採用{key1:value1, key2:value2, …}的鍵值對結構,鍵名可以使用整數和字符串來表示,值的類型可以是任意類型
  • 數組使用方括號括起來,採用[“java”,“javascript”,“vb”,…] 的索引結構。

API使用實例

  • 以音樂搜索開放API爲例:https://api.apiopen.top/searchMusic?name=%E7%BA%A2%E8%B1%86
  • 開放API請參考:https://www.jianshu.com/p/e6f072839282
'''調用API 獲取報文'''
import urllib.request as request
from urllib.parse import quote
import string
url = quote('https://api.apiopen.top/searchMusic?name=我和我的祖國',safe=string.printable) # url中包含中文 需要進行編碼
response = request.urlopen(url).read().decode('utf-8')# 如果不進行解碼?
response
'{"code":200,"message":"成功!","result":[{"author":"王菲","link":"http://music.163.com/#/song?id=1392990601","pic":"http://p2.music.126.net/HeGrAKPiZhKkONiFDxZvmw==/109951164384346866.jpg?param=300x300","type":"netease","title":"我和我的祖國","lrc":"[00:00.000] 作曲 : 秦詠誠\\n[00:01.000] 作詞 : 張藜\\n[00:26.886]我和我的祖國一刻也不能分割\\n[00:35.486]無論我走到哪裏都流出一首讚歌\\n[00:44.196]我歌唱每一座高山我歌唱每一條河\\n[00:53.136]裊裊炊煙小小村落路上一道轍\\n[01:04.352]啦……\\n[01:15.141]你用你那母親的脈搏和我訴說\\n[01:30.514]我的祖國和我像海和浪花一朵\\n[01:39.463]浪是海的赤子海是那浪的依託\\n[01:48.130]每當大海在微笑我就是笑的旋渦\\n[01:56.663]我分擔着海的憂愁分享海的歡樂\\n[02:07.830]啦…..\\n[02:18.896]永遠給我碧浪清波心中的歌\\n[02:29.830]啦…….\\n[02:40.796]永遠給我碧浪清波心中的歌\\n","songid":1392990601,"url":"http://music.163.com/song/media/outer/url?id=1392990601.mp3"},{"author":"周冬雨,許魏洲,關曉彤,馬天宇,鞠婧禕,魏大勳","link":"http://music.163.com/#/song?id=1393224585","pic":"http://p2.music.126.net/s7OIRUffpw5k1d8tHwkdpg==/109951164386244236.jpg?param=300x300","type":"netease","title":"我和我的祖國 青春版","lrc":"[00:00.000] 作曲 : 秦詠誠\\n[00:01.000] 作詞 : 張藜\\n[00:22.438](周冬雨)\\n[00:23.438]我和我的祖國\\n[00:27.359]一刻也不能分割\\n[00:30.958](魏大勳)\\n[00:31.691]無論我走到哪裏\\n[00:35.789]都流出一首讚歌\\n[00:39.689](關曉彤)\\n[00:40.257]我歌唱每一座高山\\n[00:44.453]我歌唱每一條河\\n[00:48.405](鞠婧禕)\\n[00:48.716]裊裊炊煙 小小村落 路上一道轍\\n[00:57.103](合唱)\\n[00:57.340]我最親愛的祖國\\n[01:02.323]我永遠緊依着你的心窩\\n[01:07.673]你用你那 母親的脈搏 和我訴說\\n[01:39.086](許魏洲)\\n[01:39.389]我的祖國和我\\n[01:43.571]像海和浪花一朵\\n[01:47.669](馬天宇)\\n[01:47.886]浪是那海的赤子\\n[01:51.954]海是那浪的依託\\n[01:56.083](周冬雨、鞠婧禕)\\n[01:56.405]每當大海在微笑\\n[02:00.533]我就是笑的旋渦\\n[02:04.404](魏大勳、關曉彤)\\n[02:04.800]我分擔着海的憂愁\\n[02:09.086]分享海的歡樂\\n[02:13.205](合唱)\\n[02:13.515]我最親愛的祖國\\n[02:18.624]你是大海永不幹涸\\n[02:24.050]永遠給我 碧浪清波 心中的歌\\n[02:32.457]我最親愛的祖國\\n[02:37.698]你是大海永不幹涸\\n[02:43.117]永遠給我 碧浪清波 心中的歌\\n[02:51.510]永遠給我 碧浪清波 心中的歌\\n","songid":1393224585,"url":"http://music.163.com/song/media/outer/url?id=1393224585.mp3"},{"author":"福克斯,劉炫廷","link":"http://music.163.com/#/song?id=1399712957","pic":"http://p2.music.126.net/B3mBo1IHlk18ao13HuYa4Q==/109951164455634110.jpg?param=300x300","type":"netease","title":"我和我的祖國","lrc":"[00:00.000] 作曲 : 秦詠誠/福克斯/劉炫廷\\n[00:00.322] 作詞 : 張藜/福克斯/劉炫廷\\n[00:00.968]編曲/混音:隆歷奇\\n[00:04.933]歌曲原唱:李谷一\\n[00:27.219]福克斯verse:\\n[00:27.541]我跨過那山河\\n[00:28.624]體會在四海里奔波\\n[00:30.251]看落日餘暉 茶香帶餘味\\n[00:32.025]縱情 哼 這首歡歌\\n[00:33.636]包含對家國的情 不會下落的心\\n[00:35.690]始終懷揣着一份敬 重\\n[00:37.252]向上的命 請你認真的聽\\n[00:39.244]感受我這顆熾熱的心 動\\n[00:41.128]奇蹟在一幕幕譜寫\\n[00:42.473]在空中 像起舞的蝴蝶\\n[00:44.301]飄落的枯葉 不再嗚咽\\n[00:45.953]翻開盛世 中華 嶄新的一頁\\n[00:47.577]等到太陽昇起 新的旅程出發\\n[00:49.593]你我中華兒女\\n[00:50.386]熱血迸發\\n[00:51.182]而 我的言辭也從來不會誇大\\n[00:52.883]讓這愛國的情 化作激昂的火花\\n[00:54.931]合:\\n[00:55.145]我和我的祖國\\n[00:58.349]一刻也不能分割\\n[01:01.410]無論我走到哪裏\\n[01:04.850]都流出一首讚歌\\n[01:08.366]我歌唱每一座高山\\n[01:11.659]我歌唱每一條河\\n[01:15.108]裊裊炊煙 小小村落 路上一道轍\\n[01:21.947]劉炫廷 verse:\\n[01:22.204]無論身在何方 讓我們一起邁向新時代\\n[01:25.650]譜寫新的篇章 華夏力量跨越五湖四海\\n[01:29.012]青年力量 我們代表祖國的未來\\n[01:32.305]把夢想懷揣 在 我胸懷\\n[01:33.782]不懈奮鬥讓生活更加精彩\\n[01:35.562]旭日東昇 偉大巨龍即刻甦醒\\n[01:39.221]成長崛起乃是註定 我們立足於世界之林\\n[01:42.471]這份熱愛 永不倦怠 迎難而上衝破阻礙\\n[01:46.503]振奮旋律 格外豪邁 終有天定響徹中外\\n[01:49.689]合:\\n[01:49.950]我和我的祖國\\n[01:52.916]一刻也不能分割\\n[01:56.205]無論我走到哪裏\\n[01:59.720]都流出一首讚歌\\n[02:03.185]我歌唱每一座高山\\n[02:06.672]我歌唱每一條河\\n[02:09.949]裊裊炊煙 小小村落 路上一道轍\\n","songid":1399712957,"url":"http://music.163.com/song/media/outer/url?id=1399712957.mp3"},{"author":"中央樂團合唱團","link":"http://music.163.com/#/song?id=1304261116","pic":"http://p2.music.126.net/w0viJOXZgoULFGQeCdA3xw==/109951163497243319.jpg?param=300x300","type":"netease","title":"我和我的祖國","lrc":"[00:00.000] 作曲 : 秦詠誠\\n[00:01.000] 作詞 : 張藜\\n[00:19.70]我和我的祖國\\n[00:23.91]一刻也不能分割\\n[00:28.21]無論我走到哪裏\\n[00:32.51]都流出一首讚歌\\n[00:36.75]我歌唱每一座高山\\n[00:40.98]我歌唱每一條河\\n[00:45.56]裊裊炊煙\\n[00:47.64]小小村落\\n[00:49.81]路上一道轍\\n[00:54.55]我最親愛的祖國\\n[01:00.01]我永遠緊貼着你的心窩\\n[01:05.24]你用你那\\n[01:07.64]母親的脈搏和我訴說\\n[01:34.27]我的祖國和我\\n[01:38.38]像海和浪花一朵\\n[01:42.83]浪是海的赤子\\n[01:47.24]海是那浪的依託\\n[01:51.52]每當大海在微笑\\n[01:55.78]我就是笑的旋渦\\n[02:00.30]我分擔着海的憂愁\\n[02:04.71]分享海的歡樂\\n[02:09.16]我最親愛的祖國\\n[02:14.55]你是大海永不幹涸\\n[02:19.95]永遠給我\\n[02:22.18]碧浪清波\\n[02:24.35]心中的歌\\n[02:28.99]我最親愛的祖國\\n[02:34.28]你是大海永不幹涸\\n[02:39.65]永遠給我\\n[02:42.07]碧浪清波\\n[02:44.38]心中的歌\\n","songid":1304261116,"url":"http://music.163.com/song/media/outer/url?id=1304261116.mp3"},{"author":"隔壁老樊","link":"http://music.163.com/#/song?id=1394169337","pic":"http://p2.music.126.net/mXCez9PPPCZ_4EGqlZXevQ==/109951164395546408.jpg?param=300x300","type":"netease","title":"我和我的祖國","lrc":"[00:00.000] 作曲 : 秦詠誠\\n[00:01.000] 作詞 : 張藜\\n[00:25.900]演唱:隔壁老樊\\n[00:29.900]我和我的祖國一刻也不能分割\\n[00:38.640]無論我走到哪裏都流出一首讚歌\\n[00:46.980]我歌唱每一座高山我歌唱每一條河\\n[00:56.210]裊裊炊煙小小村落路上一道轍\\n[01:07.230]啦……\\n[01:18.159]你用你那母親的脈搏和我訴說\\n[01:44.540]我的祖國和我像海和浪花一朵\\n[01:53.310]浪是那海的赤子海是那浪的依託\\n[02:02.269]每當大海在微笑我就是笑的旋渦\\n[02:10.870]我分擔着海的憂愁分享海的歡樂\\n[02:21.860]啦…..\\n[02:32.800]永遠給我碧浪清波心中的歌\\n[02:43.830]啦…….\\n[02:54.780]永遠給我碧浪清波心中的歌\\n[03:03.960]\\n[03:07.930]製作人:姚政/段小林\\n[03:10.150]監製:黃俊/唐晶晶\\n[03:12.319]企劃:牛雪吟\\n[03:14.509]編曲:王東宇/林逸航\\n[03:16.629]鼓手:貝貝(武勇恆)\\n[03:18.949]貝斯:韓陽\\n[03:20.669]吉他:張淞\\n[03:21.620]和聲:曾婕\\n[03:22.500]錄音:洪士誠/甄浩\\n[03:23.470]混音:段小林\\n[03:24.419]錄音棚:北京好聽音樂錄音棚\\n[03:25.830]\\n","songid":1394169337,"url":"http://music.163.com/song/media/outer/url?id=1394169337.mp3"},{"author":"廖昌永","link":"http://music.163.com/#/song?id=118024","pic":"http://p2.music.126.net/RXSjD7OJnodxmkkdDAUJ4A==/798245441765703.jpg?param=300x300","type":"netease","title":"我和我的祖國","lrc":"[00:28.610]我和我的祖國一刻也不能分割\\n[00:36.729]無論我走到哪裏都流出一首讚歌\\n[00:45.169]我歌唱每一座高山\xa0我歌唱每一條河\\n[00:53.609]裊裊炊煙\xa0小小村落\xa0路上一道轍\\n[01:01.859]我最親愛的祖國\xa0我永遠緊依着你的心窩\\n[01:10.859]你用你那母親的脈搏和我訴說\\n[01:19.899]\\n[01:40.69]我的祖國和我像海和浪花一朵\\n[01:48.319]浪是那海的赤子\xa0海是那浪的依託\\n[01:54.889]每當大海在微笑\xa0我就是笑的旋渦\\n[02:05.569]我分擔着浪的憂愁\xa0分亨海的歡樂\\n[02:14.310]我最親愛的祖國\xa0你像大海永不幹涸\\n[02:24.600]永遠給我\xa0碧浪輕波\xa0心中的歌\\n[02:32.660]我最親愛的祖國\xa0你像大海永不幹涸\\n[02:42.910]永遠給我\xa0碧浪輕波\xa0心中的歌\\n","songid":118024,"url":"http://music.163.com/song/media/outer/url?id=118024.mp3"},{"author":"韓紅","link":"http://music.163.com/#/song?id=238689","pic":"http://p2.music.126.net/XJrJ_vlHZ4TFAR9gWQ-xTg==/669602581327739.jpg?param=300x300","type":"netease","title":"我和我的祖國","lrc":"[00:25.499] 我和我的祖國 一刻也不能分割\\n[00:36.119] 無論我走到哪裏 都留下一首讚歌\\n[00:48.600] 我歌唱每一座高山 我歌唱每一條河\\n[00:58.119] 裊裊炊煙 小小村落 路上一道轍\\n[01:09.209] 我親愛的祖國 我永遠緊依着你的心窩\\n[01:24.700] 你用你那母親的脈搏 和我訴說\\n[01:34.599]\\n[02:00.590] 我的祖國和我 像海和浪花一朵\\n[02:09.366] 浪是那海的赤子 海是那浪的依託\\n[02:20.497] 每當大海在微笑 我就是笑的漩渦\\n[02:31.217] 我分擔着海的憂愁 分享海的歡樂\\n[02:42.507] 我親愛的祖國 你是大海永不幹涸\\n[02:56.627] 永遠給我碧浪清波 心中的歌\\n[03:07.516] 我親愛的祖國 你是大海永不幹涸\\n[03:21.697] 永遠給我碧浪清波 心中的歌\\n[03:32.666] 永遠給我碧浪清波 心中的歌\\n[03:48.276]\\n[03:56.297]\\n","songid":238689,"url":"http://music.163.com/song/media/outer/url?id=238689.mp3"},{"author":"向文濤","link":"http://music.163.com/#/song?id=1394817311","pic":"http://p2.music.126.net/TnRnPb1EiNQkz6K-XnXhsQ==/109951164426621273.jpg?param=300x300","type":"netease","title":"我和我的祖國(Cover:羣星)","lrc":"[00:00.000] 作曲 : 秦詠誠\\n[00:01.000] 作詞 : 張  藜\\n[00:09.822]我和我的祖國\\n[00:13.821]一刻也不能分割\\n[00:18.071]無論我走到哪裏\\n[00:22.072]都流出一首讚歌\\n[00:26.071]我歌唱每一座高山\\n[00:30.322]我歌唱每一條河\\n[00:34.571]裊裊炊煙 小小村落\\n[00:38.572]路上一道轍\\n","songid":1394817311,"url":"http://music.163.com/song/media/outer/url?id=1394817311.mp3"},{"author":"李谷一","link":"http://music.163.com/#/song?id=257350","pic":"http://p2.music.126.net/ySTKZyjRHyNE-aLV-byPZg==/25288767452539.jpg?param=300x300","type":"netease","title":"我和我的祖國","lrc":"[00:37.660]我和我的祖國一刻也不能分割\\n[00:44.880]無論我走到哪裏都流出一首讚歌\\n[00:52.000]我歌唱每一座高山 我歌唱每一條河\\n[00:59.240]裊裊炊煙小小村落路上一道轍\\n[01:06.930]啦……啦……\\n[01:16.200]你用那母親溫情和我訴說\\n[01:59.120]我的祖國和我像海和浪花一朵\\n[02:06.359]浪是海的赤子海是浪的依託\\n[02:13.520]每當大海在微笑我就是笑的旋渦\\n[02:20.979]我分擔着海的憂愁分享着海的歡樂\\n[02:28.470]啦……啦……\\n[02:37.740]永遠給我碧浪清波心中的歌\\n[02:44.610]我和我的祖國一刻也不能分割\\n[02:51.840]無論我走到哪裏都流出一首讚歌\\n[02:59.060]我歌唱每一座高山 我歌唱每一條河\\n[03:06.509]裊裊炊煙小小村落路上一道轍\\n[03:14.009]啦……啦……\\n[03:23.020]永遠給我碧浪清波心中的歌\\n[03:30.270]啦……啦……\\n[03:39.319]永遠給我碧浪清波心中的歌\\n[03:49.840]\\n","songid":257350,"url":"http://music.163.com/song/media/outer/url?id=257350.mp3"},{"author":"嘉桐,李梓萌,吳一鳴,北京市朝陽區白家莊小學雲鶴金帆合唱團,北京音協合唱團","link":"http://music.163.com/#/song?id=1398647915","pic":"http://p2.music.126.net/Dm15IRj6XFmXlzHd9wCjgg==/109951164444045552.jpg?param=300x300","type":"netease","title":"我和我的祖國 (童聲領唱合唱版)","lrc":"[00:00.000] 作曲 : 秦詠誠\\n[00:01.000] 作詞 : 張藜\\n[00:19.488]我和我的祖國\\n[00:23.152]一刻也不能分割\\n[00:27.008]無論我走到哪裏\\n[00:30.934]都流出一首讚歌\\n[00:35.045]我歌唱每一座高山\\n[00:38.699]我歌唱每一條河\\n[00:42.545]裊裊炊煙 小小村落 路上一道轍\\n[01:11.635]啦 啦\\n[01:26.427]我的祖國和我\\n[01:29.744]像海和浪花一朵\\n[01:33.928]浪是海的赤子\\n[01:37.264]海是那浪的依託\\n[01:41.560]每當大海在微笑\\n[01:45.243]我就是笑的旋渦\\n[01:48.984]我分擔着海的憂愁\\n[01:52.893]分享海的歡樂\\n[01:57.501]啦 啦\\n","songid":1398647915,"url":"http://music.163.com/song/media/outer/url?id=1398647915.mp3"}]}'
'''json'''
import json
json_response=json.loads(response)# 轉換成一個json對象
json_response# 格式化地展示
{'code': 200,
 'message': '成功!',
 'result': [{'author': '王菲',
   'link': 'http://music.163.com/#/song?id=1392990601',
   'pic': 'http://p2.music.126.net/HeGrAKPiZhKkONiFDxZvmw==/109951164384346866.jpg?param=300x300',
   'type': 'netease',
   'title': '我和我的祖國',
   'lrc': '[00:00.000] 作曲 : 秦詠誠\n[00:01.000] 作詞 : 張藜\n[00:26.886]我和我的祖國一刻也不能分割\n[00:35.486]無論我走到哪裏都流出一首讚歌\n[00:44.196]我歌唱每一座高山我歌唱每一條河\n[00:53.136]裊裊炊煙小小村落路上一道轍\n[01:04.352]啦……\n[01:15.141]你用你那母親的脈搏和我訴說\n[01:30.514]我的祖國和我像海和浪花一朵\n[01:39.463]浪是海的赤子海是那浪的依託\n[01:48.130]每當大海在微笑我就是笑的旋渦\n[01:56.663]我分擔着海的憂愁分享海的歡樂\n[02:07.830]啦…..\n[02:18.896]永遠給我碧浪清波心中的歌\n[02:29.830]啦…….\n[02:40.796]永遠給我碧浪清波心中的歌\n',
   'songid': 1392990601,
   'url': 'http://music.163.com/song/media/outer/url?id=1392990601.mp3'},
  {'author': '周冬雨,許魏洲,關曉彤,馬天宇,鞠婧禕,魏大勳',
   'link': 'http://music.163.com/#/song?id=1393224585',
   'pic': 'http://p2.music.126.net/s7OIRUffpw5k1d8tHwkdpg==/109951164386244236.jpg?param=300x300',
   'type': 'netease',
   'title': '我和我的祖國 青春版',
   'lrc': '[00:00.000] 作曲 : 秦詠誠\n[00:01.000] 作詞 : 張藜\n[00:22.438](周冬雨)\n[00:23.438]我和我的祖國\n[00:27.359]一刻也不能分割\n[00:30.958](魏大勳)\n[00:31.691]無論我走到哪裏\n[00:35.789]都流出一首讚歌\n[00:39.689](關曉彤)\n[00:40.257]我歌唱每一座高山\n[00:44.453]我歌唱每一條河\n[00:48.405](鞠婧禕)\n[00:48.716]裊裊炊煙 小小村落 路上一道轍\n[00:57.103](合唱)\n[00:57.340]我最親愛的祖國\n[01:02.323]我永遠緊依着你的心窩\n[01:07.673]你用你那 母親的脈搏 和我訴說\n[01:39.086](許魏洲)\n[01:39.389]我的祖國和我\n[01:43.571]像海和浪花一朵\n[01:47.669](馬天宇)\n[01:47.886]浪是那海的赤子\n[01:51.954]海是那浪的依託\n[01:56.083](周冬雨、鞠婧禕)\n[01:56.405]每當大海在微笑\n[02:00.533]我就是笑的旋渦\n[02:04.404](魏大勳、關曉彤)\n[02:04.800]我分擔着海的憂愁\n[02:09.086]分享海的歡樂\n[02:13.205](合唱)\n[02:13.515]我最親愛的祖國\n[02:18.624]你是大海永不幹涸\n[02:24.050]永遠給我 碧浪清波 心中的歌\n[02:32.457]我最親愛的祖國\n[02:37.698]你是大海永不幹涸\n[02:43.117]永遠給我 碧浪清波 心中的歌\n[02:51.510]永遠給我 碧浪清波 心中的歌\n',
   'songid': 1393224585,
   'url': 'http://music.163.com/song/media/outer/url?id=1393224585.mp3'},
  {'author': '福克斯,劉炫廷',
   'link': 'http://music.163.com/#/song?id=1399712957',
   'pic': 'http://p2.music.126.net/B3mBo1IHlk18ao13HuYa4Q==/109951164455634110.jpg?param=300x300',
   'type': 'netease',
   'title': '我和我的祖國',
   'lrc': '[00:00.000] 作曲 : 秦詠誠/福克斯/劉炫廷\n[00:00.322] 作詞 : 張藜/福克斯/劉炫廷\n[00:00.968]編曲/混音:隆歷奇\n[00:04.933]歌曲原唱:李谷一\n[00:27.219]福克斯verse:\n[00:27.541]我跨過那山河\n[00:28.624]體會在四海里奔波\n[00:30.251]看落日餘暉 茶香帶餘味\n[00:32.025]縱情 哼 這首歡歌\n[00:33.636]包含對家國的情 不會下落的心\n[00:35.690]始終懷揣着一份敬 重\n[00:37.252]向上的命 請你認真的聽\n[00:39.244]感受我這顆熾熱的心 動\n[00:41.128]奇蹟在一幕幕譜寫\n[00:42.473]在空中 像起舞的蝴蝶\n[00:44.301]飄落的枯葉 不再嗚咽\n[00:45.953]翻開盛世 中華 嶄新的一頁\n[00:47.577]等到太陽昇起 新的旅程出發\n[00:49.593]你我中華兒女\n[00:50.386]熱血迸發\n[00:51.182]而 我的言辭也從來不會誇大\n[00:52.883]讓這愛國的情 化作激昂的火花\n[00:54.931]合:\n[00:55.145]我和我的祖國\n[00:58.349]一刻也不能分割\n[01:01.410]無論我走到哪裏\n[01:04.850]都流出一首讚歌\n[01:08.366]我歌唱每一座高山\n[01:11.659]我歌唱每一條河\n[01:15.108]裊裊炊煙 小小村落 路上一道轍\n[01:21.947]劉炫廷 verse:\n[01:22.204]無論身在何方 讓我們一起邁向新時代\n[01:25.650]譜寫新的篇章 華夏力量跨越五湖四海\n[01:29.012]青年力量 我們代表祖國的未來\n[01:32.305]把夢想懷揣 在 我胸懷\n[01:33.782]不懈奮鬥讓生活更加精彩\n[01:35.562]旭日東昇 偉大巨龍即刻甦醒\n[01:39.221]成長崛起乃是註定 我們立足於世界之林\n[01:42.471]這份熱愛 永不倦怠 迎難而上衝破阻礙\n[01:46.503]振奮旋律 格外豪邁 終有天定響徹中外\n[01:49.689]合:\n[01:49.950]我和我的祖國\n[01:52.916]一刻也不能分割\n[01:56.205]無論我走到哪裏\n[01:59.720]都流出一首讚歌\n[02:03.185]我歌唱每一座高山\n[02:06.672]我歌唱每一條河\n[02:09.949]裊裊炊煙 小小村落 路上一道轍\n',
   'songid': 1399712957,
   'url': 'http://music.163.com/song/media/outer/url?id=1399712957.mp3'},
  {'author': '中央樂團合唱團',
   'link': 'http://music.163.com/#/song?id=1304261116',
   'pic': 'http://p2.music.126.net/w0viJOXZgoULFGQeCdA3xw==/109951163497243319.jpg?param=300x300',
   'type': 'netease',
   'title': '我和我的祖國',
   'lrc': '[00:00.000] 作曲 : 秦詠誠\n[00:01.000] 作詞 : 張藜\n[00:19.70]我和我的祖國\n[00:23.91]一刻也不能分割\n[00:28.21]無論我走到哪裏\n[00:32.51]都流出一首讚歌\n[00:36.75]我歌唱每一座高山\n[00:40.98]我歌唱每一條河\n[00:45.56]裊裊炊煙\n[00:47.64]小小村落\n[00:49.81]路上一道轍\n[00:54.55]我最親愛的祖國\n[01:00.01]我永遠緊貼着你的心窩\n[01:05.24]你用你那\n[01:07.64]母親的脈搏和我訴說\n[01:34.27]我的祖國和我\n[01:38.38]像海和浪花一朵\n[01:42.83]浪是海的赤子\n[01:47.24]海是那浪的依託\n[01:51.52]每當大海在微笑\n[01:55.78]我就是笑的旋渦\n[02:00.30]我分擔着海的憂愁\n[02:04.71]分享海的歡樂\n[02:09.16]我最親愛的祖國\n[02:14.55]你是大海永不幹涸\n[02:19.95]永遠給我\n[02:22.18]碧浪清波\n[02:24.35]心中的歌\n[02:28.99]我最親愛的祖國\n[02:34.28]你是大海永不幹涸\n[02:39.65]永遠給我\n[02:42.07]碧浪清波\n[02:44.38]心中的歌\n',
   'songid': 1304261116,
   'url': 'http://music.163.com/song/media/outer/url?id=1304261116.mp3'},
  {'author': '隔壁老樊',
   'link': 'http://music.163.com/#/song?id=1394169337',
   'pic': 'http://p2.music.126.net/mXCez9PPPCZ_4EGqlZXevQ==/109951164395546408.jpg?param=300x300',
   'type': 'netease',
   'title': '我和我的祖國',
   'lrc': '[00:00.000] 作曲 : 秦詠誠\n[00:01.000] 作詞 : 張藜\n[00:25.900]演唱:隔壁老樊\n[00:29.900]我和我的祖國一刻也不能分割\n[00:38.640]無論我走到哪裏都流出一首讚歌\n[00:46.980]我歌唱每一座高山我歌唱每一條河\n[00:56.210]裊裊炊煙小小村落路上一道轍\n[01:07.230]啦……\n[01:18.159]你用你那母親的脈搏和我訴說\n[01:44.540]我的祖國和我像海和浪花一朵\n[01:53.310]浪是那海的赤子海是那浪的依託\n[02:02.269]每當大海在微笑我就是笑的旋渦\n[02:10.870]我分擔着海的憂愁分享海的歡樂\n[02:21.860]啦…..\n[02:32.800]永遠給我碧浪清波心中的歌\n[02:43.830]啦…….\n[02:54.780]永遠給我碧浪清波心中的歌\n[03:03.960]\n[03:07.930]製作人:姚政/段小林\n[03:10.150]監製:黃俊/唐晶晶\n[03:12.319]企劃:牛雪吟\n[03:14.509]編曲:王東宇/林逸航\n[03:16.629]鼓手:貝貝(武勇恆)\n[03:18.949]貝斯:韓陽\n[03:20.669]吉他:張淞\n[03:21.620]和聲:曾婕\n[03:22.500]錄音:洪士誠/甄浩\n[03:23.470]混音:段小林\n[03:24.419]錄音棚:北京好聽音樂錄音棚\n[03:25.830]\n',
   'songid': 1394169337,
   'url': 'http://music.163.com/song/media/outer/url?id=1394169337.mp3'},
  {'author': '廖昌永',
   'link': 'http://music.163.com/#/song?id=118024',
   'pic': 'http://p2.music.126.net/RXSjD7OJnodxmkkdDAUJ4A==/798245441765703.jpg?param=300x300',
   'type': 'netease',
   'title': '我和我的祖國',
   'lrc': '[00:28.610]我和我的祖國一刻也不能分割\n[00:36.729]無論我走到哪裏都流出一首讚歌\n[00:45.169]我歌唱每一座高山\xa0我歌唱每一條河\n[00:53.609]裊裊炊煙\xa0小小村落\xa0路上一道轍\n[01:01.859]我最親愛的祖國\xa0我永遠緊依着你的心窩\n[01:10.859]你用你那母親的脈搏和我訴說\n[01:19.899]\n[01:40.69]我的祖國和我像海和浪花一朵\n[01:48.319]浪是那海的赤子\xa0海是那浪的依託\n[01:54.889]每當大海在微笑\xa0我就是笑的旋渦\n[02:05.569]我分擔着浪的憂愁\xa0分亨海的歡樂\n[02:14.310]我最親愛的祖國\xa0你像大海永不幹涸\n[02:24.600]永遠給我\xa0碧浪輕波\xa0心中的歌\n[02:32.660]我最親愛的祖國\xa0你像大海永不幹涸\n[02:42.910]永遠給我\xa0碧浪輕波\xa0心中的歌\n',
   'songid': 118024,
   'url': 'http://music.163.com/song/media/outer/url?id=118024.mp3'},
  {'author': '韓紅',
   'link': 'http://music.163.com/#/song?id=238689',
   'pic': 'http://p2.music.126.net/XJrJ_vlHZ4TFAR9gWQ-xTg==/669602581327739.jpg?param=300x300',
   'type': 'netease',
   'title': '我和我的祖國',
   'lrc': '[00:25.499] 我和我的祖國 一刻也不能分割\n[00:36.119] 無論我走到哪裏 都留下一首讚歌\n[00:48.600] 我歌唱每一座高山 我歌唱每一條河\n[00:58.119] 裊裊炊煙 小小村落 路上一道轍\n[01:09.209] 我親愛的祖國 我永遠緊依着你的心窩\n[01:24.700] 你用你那母親的脈搏 和我訴說\n[01:34.599]\n[02:00.590] 我的祖國和我 像海和浪花一朵\n[02:09.366] 浪是那海的赤子 海是那浪的依託\n[02:20.497] 每當大海在微笑 我就是笑的漩渦\n[02:31.217] 我分擔着海的憂愁 分享海的歡樂\n[02:42.507] 我親愛的祖國 你是大海永不幹涸\n[02:56.627] 永遠給我碧浪清波 心中的歌\n[03:07.516] 我親愛的祖國 你是大海永不幹涸\n[03:21.697] 永遠給我碧浪清波 心中的歌\n[03:32.666] 永遠給我碧浪清波 心中的歌\n[03:48.276]\n[03:56.297]\n',
   'songid': 238689,
   'url': 'http://music.163.com/song/media/outer/url?id=238689.mp3'},
  {'author': '向文濤',
   'link': 'http://music.163.com/#/song?id=1394817311',
   'pic': 'http://p2.music.126.net/TnRnPb1EiNQkz6K-XnXhsQ==/109951164426621273.jpg?param=300x300',
   'type': 'netease',
   'title': '我和我的祖國(Cover:羣星)',
   'lrc': '[00:00.000] 作曲 : 秦詠誠\n[00:01.000] 作詞 : 張  藜\n[00:09.822]我和我的祖國\n[00:13.821]一刻也不能分割\n[00:18.071]無論我走到哪裏\n[00:22.072]都流出一首讚歌\n[00:26.071]我歌唱每一座高山\n[00:30.322]我歌唱每一條河\n[00:34.571]裊裊炊煙 小小村落\n[00:38.572]路上一道轍\n',
   'songid': 1394817311,
   'url': 'http://music.163.com/song/media/outer/url?id=1394817311.mp3'},
  {'author': '李谷一',
   'link': 'http://music.163.com/#/song?id=257350',
   'pic': 'http://p2.music.126.net/ySTKZyjRHyNE-aLV-byPZg==/25288767452539.jpg?param=300x300',
   'type': 'netease',
   'title': '我和我的祖國',
   'lrc': '[00:37.660]我和我的祖國一刻也不能分割\n[00:44.880]無論我走到哪裏都流出一首讚歌\n[00:52.000]我歌唱每一座高山 我歌唱每一條河\n[00:59.240]裊裊炊煙小小村落路上一道轍\n[01:06.930]啦……啦……\n[01:16.200]你用那母親溫情和我訴說\n[01:59.120]我的祖國和我像海和浪花一朵\n[02:06.359]浪是海的赤子海是浪的依託\n[02:13.520]每當大海在微笑我就是笑的旋渦\n[02:20.979]我分擔着海的憂愁分享着海的歡樂\n[02:28.470]啦……啦……\n[02:37.740]永遠給我碧浪清波心中的歌\n[02:44.610]我和我的祖國一刻也不能分割\n[02:51.840]無論我走到哪裏都流出一首讚歌\n[02:59.060]我歌唱每一座高山 我歌唱每一條河\n[03:06.509]裊裊炊煙小小村落路上一道轍\n[03:14.009]啦……啦……\n[03:23.020]永遠給我碧浪清波心中的歌\n[03:30.270]啦……啦……\n[03:39.319]永遠給我碧浪清波心中的歌\n[03:49.840]\n',
   'songid': 257350,
   'url': 'http://music.163.com/song/media/outer/url?id=257350.mp3'},
  {'author': '嘉桐,李梓萌,吳一鳴,北京市朝陽區白家莊小學雲鶴金帆合唱團,北京音協合唱團',
   'link': 'http://music.163.com/#/song?id=1398647915',
   'pic': 'http://p2.music.126.net/Dm15IRj6XFmXlzHd9wCjgg==/109951164444045552.jpg?param=300x300',
   'type': 'netease',
   'title': '我和我的祖國 (童聲領唱合唱版)',
   'lrc': '[00:00.000] 作曲 : 秦詠誠\n[00:01.000] 作詞 : 張藜\n[00:19.488]我和我的祖國\n[00:23.152]一刻也不能分割\n[00:27.008]無論我走到哪裏\n[00:30.934]都流出一首讚歌\n[00:35.045]我歌唱每一座高山\n[00:38.699]我歌唱每一條河\n[00:42.545]裊裊炊煙 小小村落 路上一道轍\n[01:11.635]啦 啦\n[01:26.427]我的祖國和我\n[01:29.744]像海和浪花一朵\n[01:33.928]浪是海的赤子\n[01:37.264]海是那浪的依託\n[01:41.560]每當大海在微笑\n[01:45.243]我就是笑的旋渦\n[01:48.984]我分擔着海的憂愁\n[01:52.893]分享海的歡樂\n[01:57.501]啦 啦\n',
   'songid': 1398647915,
   'url': 'http://music.163.com/song/media/outer/url?id=1398647915.mp3'}]}
'''抽取所需要的內容'''
#json_response['result']
#json_response['result'][0]
json_response['result'][0]['link']
'http://music.163.com/#/song?id=1392990601'
'''寫入文件'''
import csv
csvFile=open("E:/研究生/其他/Python爬蟲/數據/songs.csv","w+",newline='',encoding="utf-8-sig")#
writer=csv.writer(csvFile)
writer.writerow(['author','link','title','lrc'])
for song in json_response['result']:
    author=song['author']
    link=song['link']
    title=song['title']
    lrc=song['lrc']
    writer.writerow([author,link,title,lrc])
csvFile.close()# 一定要記得關閉文件

AJAX

  • AJAX = 異步 JavaScript 和 XML。
  • AJAX 是一種用於創建快速動態網頁的技術。
  • 通過在後臺與服務器進行少量數據交換,AJAX 可以使網頁實現異步更新。這意味着可以在不重新加載整個網頁的情況下,對網頁的某部分進行更新。
  • e.g. 新浪微博、Google 地圖、百度指數。
  • 與API的關係:通過JavaScript調用API請求數據,我們需要做的——模擬ajax調用API。

以百度指數爲例:

通過瀏覽器提供的開發者工具(Network)找到獲取所需內容的ajax請求:
  Request URL(所調用的API):
  http://index.baidu.com/api/SearchApi/index?area=0&word=%E6%B5%81%E6%84%9F&startDate=2019-04-25&endDate=2019-10-21

import requests
headers = {#請求的頭 讓服務器知道是誰的何種請求
    "Accept" : "application/jason, text/javascript, */*; q = 0.01",
    "X-Request-With" : "XMLHttpRequest",
    "User-Agent":"Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.81 Safari/537.36",
    "Content-Type" : "application/x-www-form-urlencode:chartset=UTF-8",
    "Cookie":""# 你的cookie
    }#cookies的存續與session一致,辨別請求者的身份
dataJsonUrl="http://index.baidu.com/api/SearchApi/index?area=北京&word=流感&startDate=2018-01-01&endDate=2018-12-31"#API的URL 包含指定的參數
r = requests.get(dataJsonUrl, headers=headers,timeout=10)#獲取報文內容
dataJson=r.json()#解析JSON格式的報文內容
dataJson#數據被加密了
{'status': 0,
 'data': {'userIndexes': [{'word': '流感',
    'all': {'startDate': '2018-01-01',
     'endDate': '2018-12-31',
     'data': 'T-3-SW-W8mSWW-miSWmQQ8SWm-iTSTi-ZSWWZWZSW3mQmSW8Q83SW3QTWSW3m8WSW-Z33SW8T8iSWi83TSWo8oTSWT-ZWSWQ3WZSWiQQQSW3WoWSWWT8WSWWiWoSW8WZmSWm-m-ST8o-SZ---Sio--SiiWiSi-Z8SiiT-S3To-S33WTS3mTTS-ooZS-Q-oS--38S-i3-S-3QWS-8TWS-8TmS--WWS-8i3S--ZmSTmmWSWWQ-3Soo-oSiQ83S33ToS3-WmS3moTS3W8WS-oQZS-Qo8S3WZoS-o3oS3W-ZS--TQSiWT8SQTmZSZmZ-SZ3ZZSWWZ8oS3QiTS3W8WS3iTWS3WZTS-oZ-S8T-TS8QQ8S8iiWS8iWZS8o8mS8i83S-moiS8ZomS88QoSWZZQSWZ3mSWoZ8SWoZ-SWZQZSWo3-S8mZTS8mWoSWQm-SWZZ-SWT-oSWoQZSWT3QSWZi8SWiT3SWiQiSWZWQSWQT-S8--QSWoQiSW3i-SW3m3SW3QWSWimTSWi8TSWiWQSWi8WSWiQ3SW-QWSW8T-SW3m8SWiWmSW3WWSW-TTSW-m-SW-mZSW-WWSW-i8SW-i-SW-o8SW-8-SW-8TSW8-ZSWWZ3SW8-8SW-3QSW88iSWW-3SW8i-SW3iQSW-83SW8o8SW8miSWWmoSWWZZSW883SWWZZSW-Z3SW8ZTSW-3iSW--8SW-moSW-8iSW88ZS83-QSWQ33SWQQ8S3m8ZSWiiQSW3oWSW-8mSW3miSW-iQSW-iiSW-QmSW-3iSW8ToSW-8ZSW-8-SW-8ZSW38TSW38mSW3WoSWZQ-SW-QWSW-iZSW8Q8S-o3-S8-WiS8iZiS8ZmoS-To-S8o83S8WiZSWZQiSW3ioSWiW-SW3iiSW-oWSWim3SW3iQSW-o8SWQTQSW-TTSW3Q-SW-Z3SW-WWSW8iWSW-8TSW8TTSW3iWSW-TiSW8QiSW--ZSW-oQSW-8mSW-oiSW8TTSW-3ZSW8oTSW8m3SW8ZiSW8iQSW-mWSW3-8SW-88SW8T3SW-ZTSWi38SW-3WSW--8SW-iiSW8-WSWWTmSW8iQSW3ZTSW-ZoSW8Z-SW8oiSW-QiSW8oZSW-Z8SW38TSW8oWSW8T-SW8iTSW88mSW8ToSW-i3SW8Z8SW8oQSW-mZSW8iWSW8iTSW8i3SWWoZSW-m3SWi-iSW-38SW33-SW3imSW8QiSW-WQSW8T8SW-moSW-8ZSW-8TSW8oTSWWTiSW--iS-8Q8S8TW3SWT3iSWZT3S8i3iS8mo-Si8QWS83TTS88ZTS8mWZSWTiZS-mmTS3Q8mS8ZT-S8miQS83imSWZ-mSWQ8WSWToQS8Z8-S8QZiS-moZS8m8-SWo--SWi3oSWiZ3SWi3ZSWT83SWTo3SW3mWSW33oS8m8-SWiZWSW3ZQSWimWSW3W8SW3QQSW3iiSWiWQSW3W8SW3-mSWQQ8SWiZ8SWiWiSW3T8SW3ZZSW3QQSW38ZSW33QSWQm3SWiZWSWQm-SWT8mSWoZ-SWQZQSWZ8mS8miiS88ZTS8W-iS8m8ZS8mWWSWT8mS8WoTS8mZZSWT3ZSWommSWZoiSWQm3SWQWmSW3o-S8Wo8S88QiS8-TWS83WZS88miS8moTS8mWQS8WZZS8i8TS8i83S8imoS8Qi8S-moQS8iW-S8TQmS8TiTS8Zi3S8QooS8ZimS838oS8QWTS-m3WS-8ZmS-m8TS-m83S8TmiS8i3WS83ZoS8Q-mS8QT8S8i-ZS8T33S8ToQS8QTmS8QWWS-W8QS-WoZS-mTiS-3Q3S-QTTS-33WS--QZS3mZQS3Zi3S3i8ZS3TToSi8omS3o-8Si8-8SZmT8'},
    'pc': {'startDate': '2018-01-01',
     'endDate': '2018-12-31',
     'data': 'oQoS-QQWS-mW-S-m8TS8TQiSW3-oSWo-QS3i33S-oi8SiWiZS3WQ8S-ZZTS8Wi8S8Q-oSiTimSi-m8S3-3TS-oQmS-ioiSWZToSWZ3oS--83S8T3WS8WoZSWTQoSWiZ8Soi8SoTmSWQQTSW-ioSWWQTSWW8-SWmmiSTomSZi8SoT8SoT8SoZoSo--So8mST-WSTZZS8i3mS-WZiSWi-8STT3STZZSZ-ZSZ3QSZi8SZQ-ST8TSoTmSTQ-SomiS8oQSW-moS8WoZS8m-mS88ZQS88QZSQZiS3ZTSWWT-SWmZiSWmWTS3oiS33iSWTZSWiTSQ8TS3mQSTT-STiTSiQoSW8WSWWTS-8-S-TWSWTTS-oZSQQWS3Q3SWW3S-ToSiT8SZ-3SQTiSQ-oS3QTS3imSZWTSQ8ZSZZ8SQiWS3TZS3i-Si8ZSiZ3Sio3SiTiSiQTSQ-mS3-mS-Q3SimoSioWSi8QS3ooS3-mS3WoS38mS3ZTS3ZQSi8ZS3iWS3ZiS38-S--8S-ToSimZS3ZWS3-mS3mTSiQQS3iZS3ooS3-mS3WoS3Q3S-Z3S-W8SimWS-ooS3WoS3WWS-TiS-TQS8oiSTm8Si8-SQZQSWimQSiTiSiW-S-ZWS3i3S33-S38-S33iS3mmS-o3S-TiS-ZTS3mTS3T8S3QZS3Z-SQoTS3mTS3m-S-3ZSoTmSTQ8STZWST33Som-STiZSQZWSQ--SimWSiiiSiWiS3-QSi-8Si-mS3ZiSioWS3ZWSi8oS3imS3mTS-ZTS3ZWS38QSiWmS3Q8S-Z8S33mSimWS3-ZS3ooS3m-S33TS3m8S--QS3m-S-ZZS388S3ZiS3-3S-TQS3Z-SiTQS3-QS33TS33iS-Q3S-WmS-QoSiT-S3Z-S38-S3WWS3QWS388S3omS3ZiS3moS-oZS-TQS-ZiS-TTS3-oS-o8S-oWS3W8S-QoS-TmS-Z3S-8ZS38QSioWS3iQSimQSiWoS-ZZS3WZS3mTS3-oS3Q8S3QZS38-S--8S-ToSTm-SZToSQWoSiTTSTQTSQimSoQTSTQ3SQZ-SQT8SioiSTmTSTZoSZQmSQi3SZo8SQ-QSiQ3SiQWSQiWSQomSZ3ZSQ-oSQWQS3oQSi-8SiiTSimZSi-iS-ZZS3Q8S3Q8S3TWS3QZS3ioS3Q8S3oQSi8WSiQmS3TTS3-3SiiTSioiSi-TSi3QSi8QSiW-S3iZS3Q8SQWQSQmmSQmQSZmoSZQTS3oTSimZSZm-SZiTSZZiSZ3WSZWiSim8SZm3SZ3QSQWoSQQZSQ8-SiTmS3-QS3W3SZW-SZmZSQZoSZmWSQZoSimoS3oTSZWiSZT-STZWSTiiST8ZST3QSQmTSToWSTTWSTiiSTiZSTWoSi3oSiZ8STi3STiQST-3ST3ZSTWmSio3Si3WSZQWST3iSZm3ST33SZ3WSi3-SiTmST3TSZoZSTm-STiQST3ZSiTiSiQWSom8SWmiiSo-WSo3ZSooTSo83STQZSW-Qi'},
    'wise': {'startDate': '2018-01-01',
     'endDate': '2018-12-31',
     'data': 'Z-Z3So3ioST8o8SZQ-3SZ3o-SZmoTSoZTWSoiWQSTQZ8Soi83SoTioSooQQSWmQZ-SW8QmoSW-33TSW-mQoSW8mQoSWWZmQSWmioQSWmm-8SoZZmSTT3QSZ3Q8SQmoQSi3Q3S3-QWS3iQ-S3-o8S-oWiS-i-3S-8imS8oQiS8oo8S8Z3oS8iomS8iQWS83ZoS8-m8S8-3ZS8-oWS838-S83o-Si3QWST3ioST3mZS3Z3mS-QW8S-iZ-S--i8S--QoS-8m3S8TQ3S-WooS-mTQS-8-8S-momS-TZ-S3QWmSim3-Si8mWSo3Q8S-oT-S-Q3-S--oTS-Wm-S8oiiS8-3-S88WZS8-Q3S8-ioS88o8S8WWTS88W8SWo-8SWZmmSWQiiSWQ88SWQ3oSWio8SWiZoSWi3QSW3WZSWiiiSW3ToSW-T3SW8iZSW8--SWWQWSWWW-SWWWQSWWWiSooTSWmiQSWiQ3SW-W3SoQQSoiWSo-3So-3So-3So-WSoi-So-3So-WSoWoSTo-SoWoSTTiSTToSTZ-STTTSToWSTZ3STZZSTQiSTZ8STi-STW3ST38ST3-ST-oSZi3SZm3ST3iSTomSTQZSZo-SZZiSQomSZW-STimSTQiSTZ-STZoSo8QSo8WSo83So-oSo-8SWQ-3SWW8WSoTQS8i8WSoZWSoZTSo3oSoiWSoW-So-8SoWiSo3iSToiSo38So3iSoWoSo3QSoi-So3QSWmQiSoi-Soi3SoWiS8oQ-SW3i-SWZm3SWTQiS8oomS8mQZSW3TQSWW-8SoiTSoiTSo3mSoiiSoZ8So8QSoWZSWmoiSoWZSo-3So83Som-STZ-STiZSTQ8So3WSo8-STo-SToZSToiSTT-SToQSTTiSTooSToQSTQTSTZ8STZoSTZoSoiZSTTTSToTSomiSoiQSomiSTT3SoWmSTQZSTZmSTTZSToiSomQSTimSTT3Som3STZiSTT8Soi-STT8STTQSTZ8ST3iSomWSoWiSTTmSomiSToiSTT8STZTSTTmSTZmSTZTSo33STTQSo-ZSo-WSTTTSTooSTZ3STZmSTQiSTQWSTZiSTi-So3QS83ioS8m8iSW88QSWWoQSWQZZSW33-S38o-SWQ83SWQmiSW--iSW8Q8S88mmS-Z3WS8m8-SW3m8SWQiTSWmo3SWmiZSW--iS8mZ8SWoTiS8-imSW-T3SW-WZSWmi-SWm38SoToSW-WZSW-ioSWm83SoTZSWiQWSWmomSWmmoSWm38SoimSoZmSo-3SoiQSo83SooQSWWm3SoZZSoZZSo-QSoiWSoi-SoZmSoT3SoTTSoZWSooZSWWWWSW8miSWWZTSW8W-SW-i8SWi8mSW-QmSW8TQSW8oQSW-WTSW3o3SW--WSW88TSW8--SWWZ8SWm83SWWZ3SWmZoSW3ZoSWiiTSWZm8SWZWQSWi8QSWiToSWiWTSW3Q8SWZ3iSWQi-SWQi3SWT8iS88imSWomiSWoQoSWoZZSWTooSWT38SWo-WSWTTmS8m3QS8WTZS83W3S8Wo3S8WZZSWooiSWo3ZSWo-TSWTQoSWT-ZSWT--S8mmmS8WiiS8W-ZS8m-WS88ZTS83mmS88T8S8QmTS8T3WS8TiQS8TmQS-WZ3S-QooS-ioQS-o38S38o8S3mmTS3-QiSiZWZ'},
    'type': 'day'}],
  'generalRatio': [{'word': '流感',
    'all': {'avg': 3000, 'yoy': 46, 'qoq': 46},
    'pc': {'avg': 812, 'yoy': 18, 'qoq': 18},
    'wise': {'avg': 2188, 'yoy': 60, 'qoq': 60}}],
  'uniqid': '8a39c25d334e6c2a4a4749d4d80f7b90'},
 'message': 0}
def decrypt(t,e):# 解密處理函數
    n=t
    i = e
    r = {}
    a = []
    o = 0
    while (o<len(n)/2):
        r[n[o]]=n[int(len(n)/2+o)]
        o=o+1
    s=0
    while (s<len(e)):
        a.append(r[i[s]])
        s=s+1
    sglData=''
    dataList=[]
    for char in a:
        if  char is not ',':
            sglData=sglData+char
        else:
            if sglData is '':
                dataList.append(0)
            else:
                dataList.append(int(sglData))
            sglData=''
    if sglData is '':
        dataList.append(0)
    else:
        dataList.append(int(sglData))

    return dataList
# 請求獲取數據
r = requests.get(dataJsonUrl, headers=headers,timeout=10)#獲取報文內容
dataJson=r.json()#解析JSON格式的報文內容
# 請求獲取祕鑰
uniqid=dataJson['data']['uniqid']
rkey = requests.get("http://index.baidu.com/Interface/ptbk?uniqid="+uniqid, headers=headers,timeout=10)
# 解密
keyJson=rkey.json()
key=keyJson['data']
codedData=dataJson['data']['userIndexes'][0]['all']['data']
decrypt(key,codedData)
[8343,
 13120,
 11305,
 10662,
 10358,
 8537,
 ...
 7082]
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章