欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

Python爬取mm131圖片

系統 1978 0

Python爬取mm131圖片

  • 寫在前面的話
    • 爬蟲第一步 安裝python環境
    • 爬取圖片要用到的三方庫
    • 創建一個py文件
    • 代碼運行
    • 遇到的過的問題
    • 寫在后面的話

寫在前面的話

說起來來寫爬蟲這件事,不是心血來潮。我最近想讓自己的網站流量提升一下,所以就想著能不能搞點美女圖片來提高一下點擊量。一開始我是直接使用了干貨api里面的美女圖片接口在自己的網站上展示圖片,這樣一來我服務器的帶寬壓力會小很多,畢竟小水管服務器壓力還是蠻大的(阿里云服務器最低配置),后來使用發現,這個api接口提供的數據有時候圖片會被屏蔽(別人網站圖片做了防盜鏈)so 我需要自己爬取圖片放在網站上了,不過還是跟朋友聊了聊。這樣搞你的網站還是賣茶葉的網站么,后來我想想也是,還是沒有放上去。但是圖片是爬了,不得不說mm131網站上的圖片是真的多。其中遇到一個比較低級的錯誤卡了我一個小時,代碼寫到凌晨三點多,也是不容易?。∷圆幌矚g勿噴哦

爬蟲第一步 安裝python環境

這里不再贅述,需要學習的小伙伴自行修煉(廖雪峰的python教程)
https://www.liaoxuefeng.com/wiki/897692888725344/897692941155968

爬取圖片要用到的三方庫

這個三方庫其實類似我們java里面的okhttp框架,主要是做網絡請求的。它們分別是:
requests
urllib3

這兩個庫都可以爬mm131圖片,至于我為啥會提到這兩個庫。有經驗的小伙伴肯定會說,任意一個不都可以嗎?是的,只是我在使用第一個庫的時候誤以為無法做防盜鏈處理,其實是我還不熟悉啦!所以這里我們主要使用第二個庫 urllib3

創建一個py文件

我這里圖簡單就創建了另一個文件名叫hello.py的文件

代碼:

            
              
                import
              
               urllib3
startPage 
              
                =
              
              
                4940
              
              
                #開始頁
              
              
page 
              
                =
              
              
                4941
              
              
                #結束頁
              
              

http 
              
                =
              
               urllib3
              
                .
              
              PoolManager
              
                (
              
              
                )
              
              
                #網絡請求實例
              
              
                #獲取圖片
              
              
                def
              
              
                getPicture
              
              
                (
              
              page
              
                )
              
              
                :
              
              
    pic_num 
              
                =
              
              
                1
              
              
                #圖片
              
              
    url_pic_num 
              
                =
              
              
                1
              
              
    all_num 
              
                =
              
               page 
              
                -
              
               startPage
              
                #需要遍歷的所有組圖
              
              
                for
              
               i 
              
                in
              
              
                range
              
              
                (
              
              startPage
              
                ,
              
              page
              
                )
              
              
                :
              
              
                print
              
              
                (
              
              
                "\r rage:{:}%"
              
              
                .
              
              
                format
              
              
                (
              
              
                (
              
              i
              
                -
              
              startPage
              
                )
              
              
                *
              
              
                100
              
              
                /
              
              all_num
              
                )
              
              
                )
              
              
                while
              
              
                True
              
              
                :
              
              
            url 
              
                =
              
              
                "http://img1.mm131.me/pic/"
              
              
                +
              
              
                str
              
              
                (
              
              i
              
                )
              
              
                +
              
              
                "/"
              
              
                +
              
              
                str
              
              
                (
              
              url_pic_num
              
                )
              
              
                +
              
              
                ".jpg"
              
              
                # url ="http://img.51miz.com/Photo/2017/03/27/14/P221692_3f0c82bbcf579253d1218b5310969a0e.jpeg"
              
              
            headers 
              
                =
              
              
                {
              
              
                'Upgrade-Insecure-Requests'
              
              
                :
              
              
                '1'
              
              
                ,
              
              
                'User-Agent'
              
              
                :
              
              
                'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36Name'
              
              
                ,
              
              
                #針對防爬蟲網站需要設置
              
              
                "Referer"
              
              
                :
              
              
                "http://www.mm131.com/"
              
              
                #針對防爬蟲網站需要設置
              
              
                }
              
              
                print
              
              
                (
              
              url
              
                )
              
              
                try
              
              
                :
              
              
                response 
              
                =
              
               http
              
                .
              
              request
              
                (
              
              
                'get'
              
              
                ,
              
              url
              
                ,
              
              headers
              
                =
              
              headers
              
                )
              
              
                res
              
                =
              
              response
              
                .
              
              data
                
              
                if
              
               response
              
                .
              
              status
              
                !=
              
              
                200
              
              
                :
              
              
                #判斷這個圖片路徑是否存在,不存在跳過
              
              
                    url_pic_num 
              
                =
              
              
                1
              
              
                #記得加一哦
              
              
                break
              
              
                #change path
              
              
                path 
              
                =
              
              
                "/Users/xxx/Desktop/code/yyy/beauty/"
              
              
                +
              
              
                str
              
              
                (
              
              i
              
                )
              
              
                +
              
              
                str
              
              
                (
              
              pic_num
              
                )
              
              
                +
              
              
                ".jpg"
              
              
                #指定文件全路徑名
              
              
                with
              
              
                open
              
              
                (
              
              path
              
                ,
              
              
                'wb'
              
              
                )
              
              
                as
              
               f
              
                :
              
              
                #將圖片文件寫入到指定目錄
              
              
                    f
              
                .
              
              write
              
                (
              
              res
              
                )
              
              
                    f
              
                .
              
              close
              
                (
              
              
                )
              
              
                pic_num 
              
                +=
              
              
                1
              
              
                url_pic_num 
              
                +=
              
              
                1
              
              
                except
              
              
                :
              
              
                url_pic_num 
              
                =
              
              
                1
              
              
                #失敗直接跳過
              
              
                print
              
              
                (
              
              
                "error"
              
              
                )
              
              
                break
              
              
                def
              
              
                main
              
              
                (
              
              
                )
              
              
                :
              
              
                #程序入口
              
              
   getPicture
              
                (
              
              page
              
                )
              
              
                if
              
               __name__ 
              
                ==
              
              
                '__main__'
              
              
                :
              
              
   main
              
                (
              
              
                )
              
            
          

代碼運行

按照上面的代碼寫好之后,接下來當然就是運行我們的代碼啦!

cd 進入到我們的代碼文件的路徑下

            
              python hello.py

            
          

糟糕!
程序報錯了!
我們讀一下錯誤提示:

找不到urllib3?。?!

原因是我們引入了urllib3這個庫卻沒有安裝這個庫!
那接下來我們使用

            
              pip install urllib3

            
          

使用mac的小伙伴要注意了!需要加入sudo 不然會提示安裝失敗原因是沒有權限

            
              sudo pip install urllib3

            
          

安裝完成之后我們繼續使用python hello.py 跑一下我們的程序:
Python爬取mm131圖片_第1張圖片
lalala大功告成!
Python爬取mm131圖片_第2張圖片

遇到的過的問題

整個代碼實現過程中查了很多文檔和資料,雖然之前有python的開發經驗(2016年的時候為了生活,一周學會python上項目直接剛,剛不了滾蛋?。?。我之前是做android開發的在中軟國際做過,那時候團隊十多個人(開發加測試)每天的動作很輕松。所以后來感覺不想一直這樣,感覺是在混日子!出來以后進了一家小外包公司。兩個月一個app,每天都在coding。做了三個項目之后實在受不了了!主要是受不了那個十八年工作經驗的php leader,嘴比手厲害,別人做的東西都是low逼,自己沒有產出。就進了一家極客公司,他們主要業務是通過爬蟲獲取各類新聞資訊數據,然后利用機器人發推文到各大社交平臺網站。我當時是用Django做開發。從android 直接到 python,一周之內。我只依稀記得當時白天除了完成任務,晚上還要繼續學習python基礎知識。過的是真的慘,不過確實學到了很多東西,雖然現在都沒怎么用到。

            
              言歸正傳!剛剛有點扯遠了。。。
在寫這個爬蟲的時候主要遇到的幾個坑就是sudo 那個地方卡了一下,還有主要是 反爬蟲那個地方		設置Referer 地址設錯了。這個地方還是看了別人的爬蟲程序才發現了。所以才有使用過requests 和 urllib3兩個庫的烏龍。
[參考的代碼](https://github.com/eqblog/mm131_spider_threading/blob/master/base_spider_threads.py)

這個代碼比我的高級,還用了多線程,但是代碼比較久遠,mm131已經做了一些調整了 so僅當參考!
還有個需要大家需要注意的地方就是,虛幻和設置postion的地方大家還需要仔細看看,代碼還是有很多可以優化的地方的。

            
          

寫在后面的話

如果你喜歡我的文章的話,就請關注一下吧!


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦?。?!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 精品欧美日韩 | 伊人伊人伊人 | 六月婷婷六月天 | 2022国产91精品久久久久久 | 中文字幕 在线观看 | 亚洲综合色婷婷在线观看 | 免费在线观看www | 亚洲欧美日韩中文字幕久久 | 亚洲一区二区三区免费在线观看 | 成a人片在线观看 | 精品国产一区探花在线观看 | 亚洲v日本v欧美v综合v | 久久两性视频 | 激情 一区 | 超碰一区 | 国产精品专区第1页 | 爽爽影院在线看 | 国产一级高清 | 成人精品一区 | 就去色综合 | 午夜性福 | 国产精品亚洲第一 | 四虎1515hh海外永久免费在线 | 杀破狼在线观看 | 夜夜爱夜夜操 | 舔操| 成人精品一区二区 | 婷婷狠狠干| 国产一码二码免费观看 | 91久久精品国产一区二区 | 亚洲三级在线 | 少妇特黄a一区二区三区88av | 岛国色情A片无码视频免费看 | 精品国产午夜福利在线观看 | 超碰国产在线 | 亚洲精品人人 | 欧美成人看片黄a免费看 | 免费在线一区二区 | 欧美女人天堂 | 黄色av免费看 | 色播开心网|