資源簡介
爬取下載網易云音樂.py
代碼片段和文件信息
from?urllib?import?request
import?requests
import?re??????????#Re庫是Python的標準庫,主要用于字符串匹配
from?bs4?import?BeautifulSoup??#BeautifulSoup庫通過解析文檔為用戶提供需要抓取的數據
???????????????????????????????#Beautiful?Soup自動將輸入文檔轉換為Unicode編碼,輸出文檔轉換為utf-8編碼
from?pprint?import?pprint
import?urllib?time
def?get_content(url):
????headers?=?{
????????‘Host‘:?‘music.163.com‘
????????‘Referer‘:?‘https://music.163.com/‘
????????‘User-Agent‘:?‘Mozilla/5.0?(Windows?NT?10.0;?WOW64)?AppleWebKit/537.36?(KHTML?like?Gecko)?Chrome/64.0.3282.140?Safari/537.36‘
????}
????r?=?requests.session()
????r?=?BeautifulSoup(r.get(url?headers=headers).content?“html.parser“)#返回的網頁部分會存在.content對象中,content中間存的是字節碼
????return?r
def?save(r):
????music_dict?=?{}
????result?=?r.find(‘ul‘?{‘class‘:?‘f-hide‘}).find_all(‘a‘)?#re.findall()搜索字符串,以列表類型返回全部能匹配的子串
????#?print(result)
????for?music?in?result:
????????music_dict[music[‘href‘].strip(“/song?id=“)]?=?music.text
????#?for?k?v?in?src_dict.items():
????#?print(k?v)
????return?music_dict
def?download_song(song_id?music_dict):
????try:
????????song_url?=?‘http://music.163.com/song/media/outer/url?id=%s.mp3‘?%?song_id??#?該鏈接為瀏覽器在網頁版緩存歌曲的下載鏈接
????????
- 上一篇:python 100個練手小程序
- 下一篇:Python調用谷歌瀏覽器打開百度
評論
共有 條評論