Python爬蟲Demo--獲取網(wǎng)易云音樂專輯封面

#-*- coding: UTF-8 -*-
import requests
import os
from bs4 import BeautifulSoup
from selenium import webdriver
import time

#圖片保存請(qǐng)求類
class BeautifulUtil():
    #構(gòu)造方法
    def __init__(self,url,path):
        self.web_url = url
        self.path = path

    #是否需要?jiǎng)?chuàng)建文件
    def mkdir(self):
        path = self.path.strip()
        isExists = os.path.exists(path)
        if not isExists:
            print("文件不存在瓶蝴,需要?jiǎng)?chuàng)建")
            os.mkdir(path)
            return True
        else:
            print("文件本地已存在")
            return False

    #請(qǐng)求網(wǎng)絡(luò)
    def request(self,url):
        r = requests.get(url)
        return r

    #獲取文件夾里面的所有文件名稱
    def get_files(self):
        files = os.listdir(self.path)
        return files

    #保存圖片
    def save_img(self,url,name):
        print("開始請(qǐng)求數(shù)據(jù)....")
        img = self.request(url)
        print("開始保存圖片")
        f = open(name,'ab')
        f.write(img.content)
        print("圖片保存成功")
        time.sleep(0.2)
        f.close()

    #處理網(wǎng)絡(luò)url
    def deal_url(self,str):
        end_pos = str.index('?')
        str = str[:end_pos]
        return str


    #保存全部圖片
    def spider(self):
        driver = webdriver.PhantomJS('/Users/syf/Store/python/phantomjs-2.1.1-macosx/bin/phantomjs')
        driver.get(self.web_url)
        #獲取到數(shù)據(jù)所在的iframe
        driver.switch_to.frame('g_iframe')
        html = driver.page_source

        self.mkdir()
        #切換文件里面去,準(zhǔn)備生成圖片
        os.chdir(self.path)
        #獲取文件夾下所有的文件
        file_names = self.get_files()


        #獲取到所有的圖片
        all_li = BeautifulSoup(html,'lxml').find(id='m-song-module').find_all('li')
        for li in all_li:
            #獲取需要的信息
            album_img = self.deal_url(li.find('img')['src'])
            album_name = li.find('p',class_='dec')['title']
            album_date = li.find('span',class_='s-fc3').text
            #進(jìn)行一次判斷名字力麸,如果過長(zhǎng),裁剪
            if len(album_name) >= 50:
                album_name = album_name[:50]
            photo_name = album_date + ' - ' + album_name.replace('/','').replace(':','') +'.jpg'
            print(album_img,photo_name)

            if photo_name in file_names:
                print("已經(jīng)存在圖片两残,無需下載")
            else:
                self.save_img(album_img,photo_name)



#運(yùn)行
if __name__ == '__main__':
    b = BeautifulUtil('http://music.163.com/#/artist/album?id=11127&limit=120','/Users/syf/Desktop/photo_img')
    b.spider()

demo
運(yùn)行結(jié)果:

png

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末型诚,一起剝皮案震驚了整個(gè)濱河市蠕啄,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌混槐,老刑警劉巖编兄,帶你破解...
    沈念sama閱讀 222,729評(píng)論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異声登,居然都是意外死亡狠鸳,警方通過查閱死者的電腦和手機(jī)揣苏,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,226評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來件舵,“玉大人卸察,你說我怎么就攤上這事∏觯” “怎么了坑质?”我有些...
    開封第一講書人閱讀 169,461評(píng)論 0 362
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)临梗。 經(jīng)常有香客問我涡扼,道長(zhǎng),這世上最難降的妖魔是什么夜焦? 我笑而不...
    開封第一講書人閱讀 60,135評(píng)論 1 300
  • 正文 為了忘掉前任壳澳,我火速辦了婚禮,結(jié)果婚禮上茫经,老公的妹妹穿的比我還像新娘。我一直安慰自己萎津,他們只是感情好卸伞,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,130評(píng)論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著锉屈,像睡著了一般荤傲。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上颈渊,一...
    開封第一講書人閱讀 52,736評(píng)論 1 312
  • 那天遂黍,我揣著相機(jī)與錄音,去河邊找鬼俊嗽。 笑死雾家,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的绍豁。 我是一名探鬼主播芯咧,決...
    沈念sama閱讀 41,179評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼竹揍!你這毒婦竟也來了敬飒?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 40,124評(píng)論 0 277
  • 序言:老撾萬榮一對(duì)情侶失蹤芬位,失蹤者是張志新(化名)和其女友劉穎无拗,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體昧碉,經(jīng)...
    沈念sama閱讀 46,657評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡英染,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,723評(píng)論 3 342
  • 正文 我和宋清朗相戀三年阴孟,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片税迷。...
    茶點(diǎn)故事閱讀 40,872評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡永丝,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出箭养,到底是詐尸還是另有隱情慕嚷,我是刑警寧澤,帶...
    沈念sama閱讀 36,533評(píng)論 5 351
  • 正文 年R本政府宣布毕泌,位于F島的核電站喝检,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏撼泛。R本人自食惡果不足惜挠说,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,213評(píng)論 3 336
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望愿题。 院中可真熱鬧损俭,春花似錦、人聲如沸潘酗。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,700評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)仔夺。三九已至琐脏,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間缸兔,已是汗流浹背日裙。 一陣腳步聲響...
    開封第一講書人閱讀 33,819評(píng)論 1 274
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留惰蜜,地道東北人昂拂。 一個(gè)月前我還...
    沈念sama閱讀 49,304評(píng)論 3 379
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像蝎抽,于是被迫代替她去往敵國(guó)和親政钟。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,876評(píng)論 2 361

推薦閱讀更多精彩內(nèi)容