小編給大家分享一下python如何爬取自動下載網(wǎng)頁音頻文件,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
你所需要的網(wǎng)站建設(shè)服務(wù),我們均能行業(yè)靠前的水平為你提供.標準是產(chǎn)品質(zhì)量的保證,主要從事網(wǎng)站制作、做網(wǎng)站、企業(yè)網(wǎng)站建設(shè)、成都手機網(wǎng)站制作、網(wǎng)頁設(shè)計、成都品牌網(wǎng)站建設(shè)、網(wǎng)頁制作、做網(wǎng)站、建網(wǎng)站。創(chuàng)新互聯(lián)公司擁有實力堅強的技術(shù)研發(fā)團隊及素養(yǎng)的視覺設(shè)計專才。
Python是一種跨平臺的、具有解釋性、編譯性、互動性和面向?qū)ο蟮哪_本語言,其最初的設(shè)計是用于編寫自動化腳本,隨著版本的不斷更新和新功能的添加,常用于用于開發(fā)獨立的項目和大型項目。
一、使用到的庫
1、requests
用來發(fā)送http請求。
2、BeautifulSoup
一個靈活又方便的網(wǎng)頁解析庫,處理高效,支持多種解析器。
利用它就不用編寫正則表達式也能方便的實現(xiàn)網(wǎng)頁信息的抓取。
3、安裝和引入:
pip install requests pip install BeautifulSoup
import requests from bs4 import BeautifulSoup as bf
二、目標網(wǎng)站
一個需要手動點擊下載mp3文件的網(wǎng)站,因為需要下載幾百個所以很難手動操作。
三:獲取并解析網(wǎng)頁源代碼
1、使用requests獲取目標網(wǎng)站的源代碼
r = requests.get('http://www.goodkejian.com/ertonggushi.htm')
所有下載鏈接被存放在<a></a>標簽內(nèi),并且長度固定。該鏈接將其中的amp;去除后方可直接下載。
2、使用BeautifulSoup將網(wǎng)頁內(nèi)容解析并將其中的<a></a>標簽提取出來
soup = bf(r.text, 'html.parser') res = soup.find_all('a')
四:下載
經(jīng)過上述步驟res就變成了包含所有目標標簽的數(shù)組,要想下載網(wǎng)頁上的所有mp3文件,只要循環(huán)把res中的元組轉(zhuǎn)換為字符串,并經(jīng)過篩選、裁剪等處理后變成鏈接就可以使用request訪問了,并且返回值就是mp3文件的二進制表示,將其以二進制形式寫進文件即可。
全部代碼如下:
import requests from bs4 import BeautifulSoup as bf r = requests.get('http://www.goodkejian.com/ertonggushi.htm') soup = bf(r.text, 'html.parser') res = soup.find_all('a') recorder = 1 # 長度為126的是要找的圖標 for i in res: dst = str(i) if dst.__len__() == 126: url1 = dst[9:53] url2 = dst[57:62] url = url1 + url2 print(url) xjh_request = requests.get(url) with open("./res/" + str(recorder) + ".rar", 'wb') as file: file.write(xjh_request.content) file.close() recorder += 1 print("ok")
以上是“python如何爬取自動下載網(wǎng)頁音頻文件”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學習更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
分享題目:python如何爬取自動下載網(wǎng)頁音頻文件
文章位置:http://aaarwkj.com/article28/gjgsjp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作、電子商務(wù)、虛擬主機、搜索引擎優(yōu)化、網(wǎng)站策劃、域名注冊
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)