請教下如何用python 爬取豆瓣電影的預告片地址?

google了一陣沒有發現,所以來請教下,播放視頻,用firebug可以直接在網路那裡看見視頻的鏈接.請教下有何思路獲取呢?謝謝


利用Chrome的開發者工具查看瀏覽器如何與該網站交互,然後用Python+requests模擬關鍵部分即可!

以 瘋狂動物城 (豆瓣) 為例:

1. 解析該頁面獲得預告片的id,即tid。

該頁面有如下一行代碼,trailer後面的191795,即是tid (trailer identifier)。

&

2. 通過開發者工具,可觀察到在預告片播放頁面有個請求:/video_url?tid=191795,完整請求地址如下:

http://movie.douban.com/trailer/video_url?tid=191795

PS:其實其後緊跟著預告片的請求地址,但我們不使用該請求!(理由:自行觀察該請求地址)

3. 經測試可知上面的完整請求地址,完全可以作為該預告片的「地址」。

PS:在開發者工具中觀察到該請求的Status Code是302,Response Headers中Location是該預告片的真正地址(該地址是時間的函數,不唯一!但測試表明不同時間生成的不同的地址都能下載該預告片!唉,不細究了)。

總結:預告片的「地址」就是如下格式

http://movie.douban.com/trailer/video_url?tid=預告片id

如下代碼即可下載該預告片

import requests

r = requests.get(http://movie.douban.com/trailer/video_url?tid=191795)
with open(trailer191795.flv, a) as fobj:
fobj.write(r.content)

以上!


推薦閱讀:

黃哥推薦學習Python 10本好書。
Python + Splinter 實現瀏覽器自動化操作入門指南
Python 滲透測試工具集
喵哥的Django學習筆記2:使用Pycharm的一些坑

TAG:Python | 網頁抓取 | Python入門 |