【注意】妹子圖python爬蟲

下方有太過...不含蓄的畫面 快閃開


9150e4e5ly1fs3g0aqj8nj20a705c0tm.jpg

事情的起因是這樣的

emmmmm向來慷慨大度的我 怎么能破壞了群友的性質(zhì)纯路,于是乎~拿起鍵盤 摔起鼠標(biāo) 來干
9150e4e5gy1fs3fyxur15j205i03naa3.jpg

同時(shí) 本人剛簡書剛開通兩天,來的大哥大姐們(小姐姐誒)覺得不錯(cuò)~可以點(diǎn)個(gè)關(guān)注后面的內(nèi)容敬請期待

成果圖

QQ圖片20180608131951.jpg

[圖片上傳中...(QQ截圖20180608132309.png-ec0f3b-1528435524958-0)]

我們要爬取的網(wǎng)站為

進(jìn)行翻頁

QQ截圖20180608132504.png

hahah.png

這樣我們找到了 每翻一頁 url的變化
現(xiàn)在我們分析一下單頁圖片爬取

chrome 瀏覽器 按f12 打開開發(fā)者工具

點(diǎn)擊

點(diǎn)擊圖片進(jìn)去
chatu2.png

那么我們采用兩個(gè)函數(shù)來解決這個(gè)問題

第一步獲得主頁上的所有的合集的url

header ={'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.181 Safari/537.36',  }
first = 'http://www.meizitu.com/a/more_1.html'
def scrawl(url):

    zy_url = url
    print(url)
    zy_rs = requests.get(url,headers = header)
    zy_rs.encoding='gb2312' 1
    print(zy_rs.status_code)
    print(zy_rs.text)

    p = re.compile(r'http://www.meizitu.com/a/(\d+).html')
for x in p.finditer(zy_rs.text):
         img_url =x.group(1)
         zhuye='http://www.meizitu.com/a/'+str(img_url)+'.html'
        #下方函為合集中圖片的保存下載
         img_scrawl(zhuye)


    print('正在進(jìn)行下一頁的下載')

第二步 點(diǎn)擊合集中所有圖片url的構(gòu)造方式,并用正則表達(dá)式提取出來后進(jìn)行保存下載

def img_scrawl(url):

     img_url_rs =requests.get(url)

     img_url_rs.encoding='gb2312'
     p = re.compile(r'<img alt="(.*?)" src="(.*?)" />')
     for x in p.finditer(img_url_rs.text):
        name = x.group(1)#獲得圖片的url
        load_url = x.group(2)#獲得圖片的名稱


        img = requests.get(load_url,stream=True,headers=header)
        if  img.status_code==200: #請求為200時(shí)返回正常
            global n #記錄圖片的下載數(shù)量
            n=n+1
            print(n)
            with open(name+'.jpg','wb') as f:
                for chunk in img:
                    f.write(chunk)

第三步第一個(gè)主頁下載完之后需要翻頁

那么


chatu4.png
    p = re.compile(r"<li><a href='(.*?)'>下一頁</a></li>")

    for x in p.finditer(zy_rs.text):
        print('開始下載')
        pipei_ =x.group(1)
        print(pipei +'開始下載')
        uuu =  'http://www.meizitu.com/a/'+pipei_

        scrawl(uuu)

把這段代碼放到第一步代碼的后面 于是形成了遞歸

完整代碼如下表所示

import re
import requests
#"http://www.meizitu.com/a/5578.html"
header ={'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.181 Safari/537.36',
        
            }
proxies = { "http": "http://171.37.141.89:9797"} 

def scrawl(url):

    zy_url = url
    print(url)
    zy_rs = requests.get(url,headers = header)
    zy_rs.encoding='gb2312'
    print(zy_rs.status_code)
    print(zy_rs.text)
    print('123')
    p = re.compile(r'http://www.meizitu.com/a/(\d+).html')
    #l = p.findall(zyrs.text)
    for x in p.finditer(zy_rs.text):
         img_url =x.group(1)
         zhuye='http://www.meizitu.com/a/'+str(img_url)+'.html'
         img_scrawl(zhuye)
         #<a href="/a/more_1.html">下一頁</a>
    print('正在進(jìn)行下一頁的下載')
    p = re.compile(r"<li><a href='(.*?)'>下一頁</a></li>")

    for x in p.finditer(zy_rs.text):
        print('開始下載')
        pipei_ =x.group(1)
        print(pipei +'開始下載')
        uuu =  'http://www.meizitu.com/a/'+pipei_
        scrawl(uuu)
def img_scrawl(url):
     img_url_rs =requests.get(url)

     img_url_rs.encoding='gb2312'
     p = re.compile(r'<img alt="(.*?)" src="(.*?)" />')
     for x in p.finditer(img_url_rs.text):
        name = x.group(1)
        load_url = x.group(2)
        print(name)
        print(load_url)

        img = requests.get(load_url,stream=True,headers=header)
        if  img.status_code==200:
            global n
            n=n+1
            print(n)

            with open(name+'.jpg','wb') as f:
                for chunk in img:
                    f.write(chunk)
aa = 'http://www.meizitu.com/a/more_1.html'
n=0
continue_ =True
scrawl(aa)

有任何問題下方評論扰法,會(huì)回復(fù)的~感謝

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌够掠,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,729評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件茄菊,死亡現(xiàn)場離奇詭異祖屏,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)买羞,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,226評論 3 399
  • 文/潘曉璐 我一進(jìn)店門袁勺,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人畜普,你說我怎么就攤上這事期丰。” “怎么了吃挑?”我有些...
    開封第一講書人閱讀 169,461評論 0 362
  • 文/不壞的土叔 我叫張陵钝荡,是天一觀的道長。 經(jīng)常有香客問我舶衬,道長埠通,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 60,135評論 1 300
  • 正文 為了忘掉前任逛犹,我火速辦了婚禮端辱,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘虽画。我一直安慰自己舞蔽,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,130評論 6 398
  • 文/花漫 我一把揭開白布码撰。 她就那樣靜靜地躺著渗柿,像睡著了一般。 火紅的嫁衣襯著肌膚如雪脖岛。 梳的紋絲不亂的頭發(fā)上朵栖,一...
    開封第一講書人閱讀 52,736評論 1 312
  • 那天颊亮,我揣著相機(jī)與錄音,去河邊找鬼陨溅。 笑死终惑,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的声登。 我是一名探鬼主播,決...
    沈念sama閱讀 41,179評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼揣苏,長吁一口氣:“原來是場噩夢啊……” “哼悯嗓!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起卸察,我...
    開封第一講書人閱讀 40,124評論 0 277
  • 序言:老撾萬榮一對情侶失蹤脯厨,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后坑质,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體合武,經(jīng)...
    沈念sama閱讀 46,657評論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,723評論 3 342
  • 正文 我和宋清朗相戀三年涡扼,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了稼跳。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,872評論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡吃沪,死狀恐怖汤善,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情票彪,我是刑警寧澤红淡,帶...
    沈念sama閱讀 36,533評論 5 351
  • 正文 年R本政府宣布,位于F島的核電站降铸,受9級特大地震影響在旱,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜推掸,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,213評論 3 336
  • 文/蒙蒙 一桶蝎、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧谅畅,春花似錦俊嗽、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,700評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至牙捉,卻和暖如春竹揍,著一層夾襖步出監(jiān)牢的瞬間敬飒,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,819評論 1 274
  • 我被黑心中介騙來泰國打工芬位, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留无拗,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 49,304評論 3 379
  • 正文 我出身青樓昧碉,卻偏偏與公主長得像英染,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子被饿,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,876評論 2 361

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

  • 1四康、通過CocoaPods安裝項(xiàng)目名稱項(xiàng)目信息 AFNetworking網(wǎng)絡(luò)請求組件 FMDB本地?cái)?shù)據(jù)庫組件 SD...
    陽明先生_X自主閱讀 15,988評論 3 119
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,332評論 25 707
  • 每周六是我最期待的日子,因?yàn)檫@個(gè)人人都想著怎么浪漫怎么放松的時(shí)候狭握,我跟一群女人相約在一起跳舞闪金。 那是我跳舞有一段時(shí)...
    金聶子閱讀 209評論 4 2
  • 1、類型和頻率 2论颅、日常使用 購買:推薦 8G 2400理由:很多主板默認(rèn)支持的就是2400哎垦,買3000需要超頻來...
    LuCh1Monster閱讀 770評論 0 0
  • 首先還是感謝snakeninny 用Clutch也行 , Clutch -i ,然后Clutch -d 數(shù)字 退...
    西博爾閱讀 2,039評論 0 2