1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        pyspider爬取王者榮耀數(shù)據(jù)(下)

        共 1240字,需瀏覽 3分鐘

         ·

        2019-12-30 23:21

        咪哥雜談

        8b7a8ab3a4bd735e47e150f2581c2047.webp

        本篇閱讀時間約為 4 分鐘。


        1

        前言


        本篇來繼續(xù)完成數(shù)據(jù)的爬取。離上周文章已經(jīng)過了一星期了,忘記的可以回顧下:《pyspider爬取王者榮耀數(shù)據(jù)(上)


        上篇文章中寫到的,無非就是頭像圖片的懶加載是個小困難點,其余部分,操作起來使用網(wǎng)頁自帶的 css 選擇器很好選擇。


        2

        pyspider爬取數(shù)據(jù)


        1. 完善上周的代碼


        右側(cè)是完善的代碼,將具體的目標(biāo)爬取了下來,并且可以看到左側(cè)上方已經(jīng)輸出了響應(yīng)的內(nèi)容。


        寫完代碼后,別忘了點擊右上方的 save 按鈕。(具體代碼文末有獲取方式)


        9f16370bd3570d279575523928a0d2ca.webp


        2. pyspider啟動爬取


        寫好了代碼后,如何去啟動此爬蟲呢?


        首先回到配置任務(wù)的界面,畫紅線是我現(xiàn)在編寫的任務(wù):


        11d1e7c9a6ee884dbd00057d6ae1c97a.webp

        可以看到有個 status 欄,你需要將此狀態(tài)換成 debug 或者 run 才行。


        f7985204cb5c15f804af9edfe9102c6d.webp

        點擊 run ,即可運行,同時progress的進度條也會變顏色:


        49b3c5461baea0869889b2aa56df5702.webp


        3. 獲取數(shù)據(jù)


        pyspider的數(shù)據(jù)落地,也很好的幫我們實現(xiàn)了,只需要點擊 results ,便可以看到,目前有三種不同的方式,由于本次數(shù)據(jù)沒有多大的量,所以直接用 csv 下載即可。


        b2bdb4b47b7a9a0e07e1115be56b1083.webp


        對于一些字段來說,我在程序中將他們封裝成了 dict 的形式,所以 csv 中有些列是以字典的內(nèi)容存在的,我想要的是最后以 excel 的形式展示,所以這里自己寫個程序處理一下。(后面寫篇 excel 單獨處理的文章)


        4. 關(guān)于數(shù)據(jù)落地于數(shù)據(jù)庫中


        如果當(dāng)你的數(shù)據(jù)量異常大的時候,那么肯定不能使用框架提供的 csv 等來存儲數(shù)據(jù)了。
        此時的做法,引入相應(yīng)的數(shù)據(jù)庫即可,以 mysql 為例。下面提供一個編程的思路,無代碼。
        在 pyspider?提供的?Handler 類中,可以自行實現(xiàn)一個?__init__ 方法(學(xué)過面向?qū)ο蟮耐瑢W(xué)應(yīng)該不陌生),在此方法中,對連接 mysql 數(shù)據(jù)庫的操作進行初始化,生成一個實例對象變量 db
        這樣一來,在 detail_page 函數(shù)中,我們便可以用 self.db 的方式來對 mysql 實例進行入庫操作。

        3

        總結(jié)


        pyspider爬取的入門教程,到此結(jié)束。
        在此次爬取中,圖片的懶加載可以注意下,找到對應(yīng)js即可。
        對比一下用框架來爬取數(shù)據(jù),和我們自己寫代碼的區(qū)別:


        當(dāng)我們自己寫爬蟲時,你需要清晰地知道自己的爬取目標(biāo)是什么,以此來規(guī)劃自己的爬取流程,根據(jù)流程,一步步定義出具體的函數(shù)。同時,你還需要自己構(gòu)造對應(yīng)的請求函數(shù),比如利用 requests 模擬請求等。。


        當(dāng)我們使用框架時,爬取流程的結(jié)構(gòu)代碼,框架來實現(xiàn),不用我們自己去寫,請求服務(wù)端的函數(shù),框架幫我們實現(xiàn),我們只需要將自己的注意力放在如何爬取目標(biāo)即可,數(shù)據(jù)落地同理。


        有想要看 pyspider 源碼的同學(xué),后臺回復(fù)?pyspider 即可獲得。




        ▼往期精彩回顧▼用Python發(fā)免費短信的正確姿勢李笑來:自學(xué)是門手藝(開源11k star書籍推薦)
        硬核!用Python為你的父母送上每日天氣提醒!



        9f6d57fb317dbc4a4c5a7c3c29d43d8a.webp你點的每個在看,我都認真當(dāng)成了喜歡


        瀏覽 34
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

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

        手機掃一掃分享

        分享
        舉報
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            少妇口述做爰的细节描述和过程 | 午夜爱爱免费视频 | 中国老太做爰免费视频 | 65看片黄淫大片 | 佐山爱国产在线一区 | 一线天超碰在线 | 中国毛片基地 | 激情啪啪啪网站 | 成人精品一区二区三区电影 | 99精品女女视频 |