<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          手把手教你使用Python網(wǎng)絡(luò)爬蟲獲取音效信息

          共 3979字,需瀏覽 8分鐘

           ·

          2020-10-05 15:08

          點擊上方“Python爬蟲與數(shù)據(jù)挖掘”,進行關(guān)注

          回復(fù)“書籍”即可獲贈Python從入門到進階共10本電子書

          一腔熱血勤珍重,灑去猶能化碧濤。

          /1 前言/

              生活中到處有各種各樣的聲音。在做網(wǎng)頁時,沒有聲音的網(wǎng)頁顯得沒有靈魂,特別是游戲網(wǎng)頁,沒有聲音就體會不了其中精彩的打斗效果,會感到特別的無趣。


          /2 項目目標(biāo)/

              今天教大家如何用Python網(wǎng)絡(luò)爬蟲去獲取音效。


          /3 項目準(zhǔn)備/

          軟件:PyCharm

          需要的庫:requestslxmlssl

          網(wǎng)站如下:

          https://www.tukuppt.com/yinxiaomuban/zhuanchang/__zonghe_0_0_0_0_0_0_{}.html

          /4 項目分析/

          1、如何找到音效地址?

          F12右鍵檢查,找到對應(yīng)的音效的地址,出現(xiàn)登錄畫面直接叉掉就可以了。


          2、如何多網(wǎng)頁訪問?

          觀察網(wǎng)址的變化(一般取前三頁):

          https://www.tukuppt.com/yinxiaomuban/zhuanchang/__zonghe_0_0_0_0_0_0_1.html
          https://www.tukuppt.com/yinxiaomuban/zhuanchang/__zonghe_0_0_0_0_0_0_2.html
          https://www.tukuppt.com/yinxiaomuban/zhuanchang/__zonghe_0_0_0_0_0_0_3.html


          發(fā)現(xiàn)點擊下一頁時,zonghe_0_0_0_0_0_0{}每增加一頁自增加1,用{}代替變換的變量,再用for循環(huán)遍歷這網(wǎng)址,實現(xiàn)多個網(wǎng)址請求。


          3、如何解除ssl驗證?

          因為這個網(wǎng)址是https,需要導(dǎo)入一個ssl模塊,忽略ssl驗證。



          4、如何獲取Cookie?

          右鍵檢查,找到NetWork,隨便復(fù)制一個Cookie即可:



          /5 項目實現(xiàn)/

          1、定義一個class類繼承object,定義init方法繼承self,主函數(shù)main繼承self。導(dǎo)入需要的庫和網(wǎng)址,代碼如下所示。

          import requestsfrom lxml import etreefrom fake_useragent import UserAgentimport ssl
          class Panda(object): def __init__(self): pass def main(self): pass
          if __name__ == '__main__': imageSpider = Panda() imageSpider.main()


          2、導(dǎo)入網(wǎng)址和構(gòu)造請求頭。

           self.url = "https://www.tukuppt.com/yinxiaomuban/zhuanchang/__zonghe_0_0_0_0_0_0_{}.html" #/zhuanchang/:搜索的名字的拼音縮寫        self.headers = {            "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36"        }


          3、發(fā)送請求  獲取響應(yīng), 頁面回調(diào),方便下次請求。

              def get_page(self, url):        res = requests.get(url=url, headers=self.headers)        html = res.content.decode("utf-8")        return html


          4、xpath解析頁面數(shù)據(jù)。

          這里我們先獲取父節(jié)點,在通過for循環(huán)遍歷,找到對應(yīng)的子節(jié)點(音效地址)。

          one = parse_html.xpath('//div[@class="b-box"]//dl')    for li in one:        lis_imges = li.xpath(".//audio//source/@src")[0].strip()        who = li.xpath(".//dt//a/text()")[0].strip()

          ?

          獲取到后,發(fā)現(xiàn)地址表示完整的地址,需要對網(wǎng)站進行補全,獲取真正訪問的地址。

           mp3 = "https:" + lis_imges


          5、運行的結(jié)果,如下圖所示:


          6、對音效地址發(fā)生請求,獲取對應(yīng)音效a標(biāo)簽的text()作為命名,寫入文件。

          dirname = "./音效/" + who + '.mp3'html2 = requests.get(url=mp3, headers=self.headers).contentwith open(dirname, 'wb') as f:    f.write(html2)    print("\n%s下載成功" % who))


          7、調(diào)用方法,實現(xiàn)功能。

          html = self.get_page(url)self.parse_page(html)


          /6 效果展示/

          1、點擊綠色小三角運行輸入起始頁,終止頁,如1和2,獲取1頁信息即可。


          2、運行程序后,結(jié)果顯示在控制臺,如下圖所示。


          3、將運行結(jié)果保存在本地,如下圖所示。


          4、雙擊文件,即可播放。


          /7 小結(jié)/

          1、不建議抓取太多數(shù)據(jù),容易對服務(wù)器造成負(fù)載,淺嘗輒止即可。
          2、本文基于Python網(wǎng)絡(luò)爬蟲,利用爬蟲庫,解除登錄限制下載音效,存入文檔。
          3、按照步驟去實現(xiàn),實現(xiàn)的時候,總會有各種各樣的問題,切勿眼高手低,勤動手,才可以理解的更加深刻。
          4、希望通過這個項目能夠了解到,對于HTTPS網(wǎng)站,解除ssl驗證的有大致的了解。
          5、如果需要本文源碼的話,請在公眾號后臺回復(fù)“音效”兩個字進行獲取,覺得不錯,記得給個star噢。



          ------------------- End -------------------

          往期精彩文章推薦:

          歡迎大家點贊,留言,轉(zhuǎn)發(fā),轉(zhuǎn)載,感謝大家的相伴與支持

          想加入Python學(xué)習(xí)群請在后臺回復(fù)【入群

          萬水千山總是情,點個【在看】行不行

          /今日留言主題/

          隨便說一兩句吧~~

          瀏覽 72
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  免费做爱网站在线观看 | 熟妇一区二区三区 | 天堂va欧美va亚洲va | 国产免费1区 | 日韩成人三级片 |