<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給女神冰冰做了一個相冊!發(fā)現...

          共 2481字,需瀏覽 5分鐘

           ·

          2021-10-18 23:24


          微博,作為當下主流的社交平臺之一,日活躍用戶高達2億多人。人們可以在微博上發(fā)表自己的感悟,自己的照片以及日常的生活內容。微博為廣大的用戶提供了更加多元化的社交平臺。

          相比于微信,許多小姐姐們更喜歡在微博上同大家分享自己日常生活中的照片。比如菜鳥哥,就非常喜歡冰冰小姐姐。今天就帶大家一起,手把手的抓取冰冰小姐姐的微博圖片,并保存到本地。一起來看看吧。


          00.整體的思路:



          01.微博主頁信息
          對于微博網頁的抓取,很多小伙伴都是通過網絡抓包的方式,來獲取圖片的鏈接地址,從而獲取圖片。

          通過抓包的方式來獲取圖片的鏈接,非常的麻煩,而且容易被反扒。其實我們可以通過微博的API接口來獲取用戶的微博的內容。例如,獲取微博用戶的基本數據,我們只需要知道用戶的微博。
          例如我們打開冰冰醬的網頁版微博(https://weibo.com/u/6512991534)。其中的6512991534就是微博id。我們可以打開她的網頁地址,返回的就是冰冰微博的主要信息內容:

          由于數據是以Unicode的編碼顯示,而且雜亂無章。沒關系,我們通過將數據進行下載,然后進行整理。結果如下圖所示:

          經過解析后的數據,可以清晰的看出,微博的主要信息包含了用戶的名稱,微博的頭像地址,以及性別,粉絲數量等重要信息。通過程序,我們同樣可以模仿瀏覽器來向接口請求結果,并解析數據。



          上圖程序中,通過self.get_data函數來獲取網頁的json數據,并進行解析,獲取得到json_data數據。(28-29行)
          接下來,就是獲取json_data數據中的關鍵信息,包括微博的頭像地址,微博主頁網址等信息(31-41)。
          在返回的json_data數據中,包含著一項重要的內容:“containerid”。通過containerid信息,我們才能進行后續(xù)的微博詳情頁面的抓取。因此,我們要提取出containerid數值,并返回containerid(42-46)。
          當執(zhí)行上述的函數時,得到用戶微博的主要信息。結果如下:


          上圖函數中,展示的是self.get_data函數。函數的主要作用就是向指定的網頁url請求數據。

          函數中,通過設置ProxyHandler,來設置我們自己的http代理(18-20行)。
          函數通過urllib庫來獲取數據,然后將獲取得到的數據進行返回(21-22行)。

          02.微博詳情頁抓取
          上面的程序,提供的是用戶的微博主要內容信息,那么接下來,就是最重要的微博詳情的抓取,包括微博相冊以及發(fā)布的微博內容信息。

          在函數get_weibo中,首先通過self.get_user_info 函數獲取得到了containerid的數值(第51行)。
          接下來在while循環(huán)中,利用containerid以及用戶的微博id數值以及微博的頁數來構造出網頁詳情的鏈接地址(第54行)。
          利用self.get_data函數來獲取網頁返回的json數據,并解析獲取得到cards字典(56-58行)。
          如果cards的長度大于0,表明該頁微博中有微博動態(tài)信息,接下來就可以按照字典的操作方式,來層層獲取數據,包括微博的文字內容,以及微博動態(tài)的點贊數,評論數等信息內容(60-71行)。

          如果mblog中的“pics”值不為None,那么就說明,該條微博動態(tài)中包含圖片信息,大家就可以提取對應的圖片鏈接地址,并將圖片下載到本地文件夾內(72-80行)。


          03.保存為相冊

          最后,將提取到的文字信息,打印到終端當中。這里我們關注的是圖片的內容,而不是其他的文本信息,因此不需要將抓取到的文本信息進行保存等特殊的處理。
          運行上述函數,我們就可以又快又準的抓取冰冰小姐姐的微博相冊了。我們一起來看看抓取的結果吧。


          如果你也是冰冰的fans,歡迎在留言區(qū)吱一聲哦,說說你的想法哦。我們月底會給經常來留言打卡的同學送書10本,記得常來指導工作哦!





          推薦閱讀:

          入門:?最全的零基礎學Python的問題? |?零基礎學了8個月的Python??|?實戰(zhàn)項目?|學Python就是這條捷徑


          量化:?定投基金到底能賺多少錢?? |?我用Python對去年800只基金的數據分析??


          干貨:爬取豆瓣短評,電影《后來的我們》?|?38年NBA最佳球員分析?|? ?從萬眾期待到口碑撲街!唐探3令人失望? |?笑看新倚天屠龍記?|?燈謎答題王?|用Python做個海量小姐姐素描圖?|碟中諜這么火,我用機器學習做個迷你推薦系統(tǒng)電影


          趣味:彈球游戲? |?九宮格? |?漂亮的花?|?兩百行Python《天天酷跑》游戲!


          AI:?會做詩的機器人?|?給圖片上色?|?預測收入?|?碟中諜這么火,我用機器學習做個迷你推薦系統(tǒng)電影


          小工具:?Pdf轉Word,輕松搞定表格和水?。?/a>?|?一鍵把html網頁保存為pdf!|??再見PDF提取收費!?|?用90行代碼打造最強PDF轉換器,word、PPT、excel、markdown、html一鍵轉換?|?制作一款釘釘低價機票提示器!?|60行代碼做了一個語音壁紙切換器天天看小姐姐!


          年度爆款文案


          點閱讀原文,看Python全套!

          瀏覽 60
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

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

          手機掃一掃分享

          分享
          舉報
          <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>
                  亚洲国产另类无码 | 国产福利91极品 | 色老太HD老太色HD盘 | 都市激情 亚洲色图 | 美女网站17禁入 |