欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
英語(yǔ)和Python一起學(xué),用Python幫我們自動(dòng)下載VOA每日broadcast

問(wèn)題背景

先介紹一個(gè)練習英語(yǔ)聽(tīng)力的好網(wǎng)站https://learningenglish.voanews.com/,有針對不同聽(tīng)力需求的部分,也有每天30分鐘的broadcast,可以幫助我們沉侵式練習聽(tīng)力。是美語(yǔ)播音員,切速度比較慢,適合學(xué)習者練習。也有一部分視頻教程,個(gè)人覺(jué)得不錯,推薦給大家。(有個(gè)不好地方就是該網(wǎng)站需要通過(guò)代理訪(fǎng)問(wèn))

在用的過(guò)程中有一個(gè)問(wèn)題,就是我每次都是在線(xiàn)聽(tīng)。如果想在手機上聽(tīng)就比較麻煩,所以想能不能下載下來(lái),但是又覺(jué)得一個(gè)一個(gè)去點(diǎn)擊下載太麻煩了。于時(shí)就決定寫(xiě)個(gè)python程序幫我下載,誰(shuí)叫咱是程序員呢?;艘幌挛?,寫(xiě)出來(lái),現在分享給大家。

我們的工具要實(shí)現哪些功能?

  1. 下載mp3文件從上面提到的網(wǎng)站;

  2. 下載所有設定日期內的broadcast mp3文件;

  3. 支持在命令行傳入起始和截至日期,比如20190101 20190530;

  4. 如果命令行傳入一個(gè)日期則該日期作為起始日期,當天時(shí)間作為截至日期;

  5. 如果命令行沒(méi)傳入日期,則下載上一次到當天之間的mp3,若沒(méi)有上一次的時(shí)間則只下載當天的mp3文件;

怎么實(shí)現呢?

  1. 解析參數,確定下載的日期,并存入list;

  2. 將下載日期和下載鏈接進(jìn)行拼接,構成下載鏈接;

  3. 如果鏈接合法,則下載,否則以日期名為名創(chuàng )建txt文件并將下載鏈接存入其內;

  4. 保存當天日期;

先看看完成后的運行效果

測試中我只想下載本月的,所以輸入參數如下

python .\auto-download-voa-broadcast.py 20190601

最終執行效果圖

現在看一些關(guān)鍵的難點(diǎn),需要完整源碼的可以私信

先需要解析下載地址,先手動(dòng)找到一個(gè)下載地址http://av.voanews.com/clips/VLE/2019/06/15/20190615-003000-VLE122-program_hq.mp3?download=1,就是這樣子的,可以看出其中包含了2019/06/15/20190615這樣的字符串,我可以推測任意一天的下載地址就是其他固定字符串加日期即可。隨機找一天驗證,發(fā)現確實(shí)如此,那就簡(jiǎn)單了。不需要去爬蟲(chóng)了。

  • 下載過(guò)程,由于每個(gè)文件約30MB,所以下載需要持續幾秒(當然跟網(wǎng)絡(luò )也有關(guān)系)

def download_file(file_url, file_name): ''' downdload file ''' #這里的stream=True很重要,支持流下載, proxies=需要改為自己的代理 with requests.get(file_url, stream=True, proxies=None) as response, open(file_name, 'wb') as local_file: shutil.copyfileobj(response.raw, local_file)
  • 代理的設置,將下面的url和port設置為自己的,然后將其賦值給上面的proxies即可

http_proxies = {'http':'http://url:port'}
  • 我們會(huì )用到下面的庫

import shutil, datetime, shelve, time, sys, osimport requests
  • 再一個(gè)就是入參日期有效性的判斷

def is_valid_data(date_str): '''Check if date string is valid''' try: time.strptime(date_str, '%Y%m%d') return True except: return False

小結

總體來(lái)說(shuō),思路比較簡(jiǎn)單,就是將要下載的日期構造成下載鏈接,然后逐個(gè)下載。Python是個(gè)很好的語(yǔ)言,能夠極大幫助我們節省開(kāi)發(fā)時(shí)間。學(xué)以致用才是王道。這也是編程的樂(lè )趣所在吧。

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
英語(yǔ)學(xué)習網(wǎng)站
eyeD3-一種用于處理音頻文件的python工具,特別是包含ID3元數據的MP3文件
使用python自動(dòng)進(jìn)行華醫網(wǎng)考試
python urllib模塊學(xué)習筆記
Python 筆記七:Requests爬蟲(chóng)技巧
網(wǎng)絡(luò )爬蟲(chóng)入門(mén):你的第一個(gè)爬蟲(chóng)項目(requests庫)
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久