python爬取暖享圖片

1. 思路

目標(biāo)網(wǎng)頁:http://www.axlcg.com/wmxz/1.html

  1. 首先取得第一頁每一個圖集的url


可以看到圖集的url實在ul class 為homeboy-ul clearfix line-dot底下的li中的a標(biāo)簽里面粘舟,所以我們要 一層一層地接近目標(biāo)摆马。

        allsoup = BeautifulSoup(allurldigit)  # 得到解析后的html
        allpage = allsoup.find('ul', attrs={'class': 'homeboy-ul clearfix line-dot'})
        allpage2 = allpage.find_all('a') #一步找到所有的a標(biāo)簽
        for allpage2index in allpage2:
            allpage3 = allpage2index['href'] #拿到url
            if allpage3 not in allurl: #判斷一下是否已經(jīng)在容器里了,不在的話才加入
                allurl.append(allpage3) #存到allurl這個list容器里
  1. 獲取每一頁的url
    只獲取一頁怎么可以叫爬蟲呢,我們要的是獲取多頁。


可以看到下一頁的url就在ul為information-page-ul clearfix底下的一個li中,這時候發(fā)現(xiàn)所有的li標(biāo)簽都是相同的馁痴,那我們怎么才能找到下一頁的url呢?

下一頁的標(biāo)簽中的文字內(nèi)容寫著下一頁肺孤,因此我們可以判斷l(xiāng)i中的文本內(nèi)容是不是下一頁罗晕,是的話跳到下一頁去,爬取下一頁的所有圖集赠堵。

  1. 獲取真正想要的img地址

隨便點擊一個圖集進去小渊,這時候我們可以看到圖片的地址了。


復(fù)制一下茫叭,驗證是否正確酬屉。


發(fā)現(xiàn)確實是我們想要的。

按同樣的方法去獲得圖片的url并放到一個集合里揍愁,一個圖集里也要跳到下一頁的url呐萨,獲取圖片url,因為每一個頁面只有一張莽囤。

  1. 下載圖片到本地
        urllib.request.urlretrieve(m, "D:/Desktop//image/" + str(count) + ".jpg")

第一個參數(shù)是img的url谬擦,第二個參數(shù)是路徑+圖片的文件名。

2. 結(jié)果

3. 代碼

# !/usr/bin/env python
# encoding=utf-8

# python爬取 http://www.axlcg.com/ 暖享
import requests
from bs4 import BeautifulSoup
import urllib.request

allurl = []
img = []
count= 0

#偽裝成瀏覽器
def download_page(url):
    return requests.get(url, headers={
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3236.0 Safari/537.36'
    }).content


# 爬取所有圖集的url烁登,放到一個list里
def get_all_url():
    firsturl = "http://www.axlcg.com/wmxz/"
    pageindex = 0
    while 1 and pageindex < 20:
        allurldigit = download_page(firsturl)  # 首頁面格式化
        allsoup = BeautifulSoup(allurldigit)  # 得到解析后的html
        allpage = allsoup.find('ul', attrs={'class': 'homeboy-ul clearfix line-dot'})
        allpage2 = allpage.find_all('a')
        for allpage2index in allpage2:
            allpage3 = allpage2index['href']
            if allpage3 not in allurl:
                allurl.append(allpage3)
        # 找下一頁的url
        next_page1 = allsoup.find('ul', attrs={'class': 'information-page-ul clearfix'})
        next_page2 = next_page1.find_all('li')
        for next_page2_index in next_page2:
            # print(next_page2)
            next_page3 = next_page2_index.find('a')
            # print(next_page3)
            if next_page3.getText() == "下一頁" and next_page3.get("href") != None:
                firsturl = next_page3.get("href")
                pageindex = pageindex + 1
                print("總頁面" + firsturl)
    print(allurl)
    print(len(allurl))


# 對每一個url進行下載圖片
def main():
    get_all_url();
    i = 91
    pagecount = 0;  # 最多八頁
    index = 0


    url = download_page(allurl[i])
    soup = BeautifulSoup(url)
    i = i + 1
    while index < 1000 and i < len(allurl):
        # print(allpage)
        # print(soup)
        page0 = soup.find("div", attrs={'class': 'slideBox-detail'})
        # print(page0)
        page = page0.find_all("li")
        # print(page)
        for pageindex in page:
            page2 = pageindex.find("img");
            # print(page2)
            img.append(page2['src'])
        next = soup.find('ul', attrs={'class': 'information-page-ul clearfix'})
        next2 = next.find_all('li')
        for next_url in next2:
            # print(next_url)
            next_page = next_url.find("a")
            if (pagecount < 7 and next_page.getText() == "下一頁" and next_page != None and next_page.get("href") != None):
                # print(next_page.get("href"))
                url = next_page.get('href')
                pagecount = pagecount + 1
                url = download_page(url)
                soup = BeautifulSoup(url)
                break;
            elif (pagecount >= 7):
                url = download_page(allurl[i])
                soup = BeautifulSoup(url)
                pagecount = 0
                print(len(img))
                download()
                print("新的頁面" + allurl[i])

                i = i + 1
                break
def download():
    #print(len(img))
    global img,count
    print("開始下載圖片")
    for m in img:
        urllib.request.urlretrieve(m, "D:/Desktop//632/" + str(count) + ".jpg")
        count = count+1
        print("正在下載第"+str(count)+"張")
    img = []
    print("下載完畢")

if __name__ == '__main__':
    main()
    #download();
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末怯屉,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子饵沧,更是在濱河造成了極大的恐慌锨络,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,590評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件狼牺,死亡現(xiàn)場離奇詭異羡儿,居然都是意外死亡,警方通過查閱死者的電腦和手機是钥,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,157評論 3 399
  • 文/潘曉璐 我一進店門掠归,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人悄泥,你說我怎么就攤上這事虏冻。” “怎么了弹囚?”我有些...
    開封第一講書人閱讀 169,301評論 0 362
  • 文/不壞的土叔 我叫張陵厨相,是天一觀的道長。 經(jīng)常有香客問我,道長蛮穿,這世上最難降的妖魔是什么庶骄? 我笑而不...
    開封第一講書人閱讀 60,078評論 1 300
  • 正文 為了忘掉前任,我火速辦了婚禮践磅,結(jié)果婚禮上单刁,老公的妹妹穿的比我還像新娘。我一直安慰自己府适,他們只是感情好羔飞,可當(dāng)我...
    茶點故事閱讀 69,082評論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著细溅,像睡著了一般褥傍。 火紅的嫁衣襯著肌膚如雪儡嘶。 梳的紋絲不亂的頭發(fā)上喇聊,一...
    開封第一講書人閱讀 52,682評論 1 312
  • 那天,我揣著相機與錄音蹦狂,去河邊找鬼誓篱。 笑死,一個胖子當(dāng)著我的面吹牛凯楔,可吹牛的內(nèi)容都是我干的窜骄。 我是一名探鬼主播,決...
    沈念sama閱讀 41,155評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼摆屯,長吁一口氣:“原來是場噩夢啊……” “哼邻遏!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起虐骑,我...
    開封第一講書人閱讀 40,098評論 0 277
  • 序言:老撾萬榮一對情侶失蹤准验,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后廷没,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體糊饱,經(jīng)...
    沈念sama閱讀 46,638評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,701評論 3 342
  • 正文 我和宋清朗相戀三年颠黎,在試婚紗的時候發(fā)現(xiàn)自己被綠了另锋。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,852評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡狭归,死狀恐怖夭坪,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情过椎,我是刑警寧澤室梅,帶...
    沈念sama閱讀 36,520評論 5 351
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響竞惋,放射性物質(zhì)發(fā)生泄漏柜去。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 42,181評論 3 335
  • 文/蒙蒙 一拆宛、第九天 我趴在偏房一處隱蔽的房頂上張望嗓奢。 院中可真熱鬧,春花似錦浑厚、人聲如沸股耽。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,674評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽物蝙。三九已至,卻和暖如春敢艰,著一層夾襖步出監(jiān)牢的瞬間诬乞,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,788評論 1 274
  • 我被黑心中介騙來泰國打工钠导, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留震嫉,地道東北人。 一個月前我還...
    沈念sama閱讀 49,279評論 3 379
  • 正文 我出身青樓牡属,卻偏偏與公主長得像票堵,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子逮栅,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,851評論 2 361

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

  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案悴势? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標(biāo)簽?zāi)J的外補...
    _Yfling閱讀 13,761評論 1 92
  • 在之前一篇抓取漫畫圖片的文章里,通過實現(xiàn)一個簡單的Python程序措伐,遍歷所有漫畫的url特纤,對請求所返回的html源...
    msq3閱讀 12,814評論 14 88
  • HTML標(biāo)簽解釋大全 一、HTML標(biāo)記 標(biāo)簽:!DOCTYPE 說明:指定了 HTML 文檔遵循的文檔類型定義(D...
    米塔塔閱讀 3,263評論 1 41
  • 通過各種點擊觀察废士,發(fā)現(xiàn)58同城的URL構(gòu)造挺特殊的叫潦。根據(jù)互聯(lián)網(wǎng)協(xié)議和規(guī)則,一般查詢參數(shù)都直接在cgi后加參數(shù)官硝,如c...
    Solomon_Xie閱讀 2,403評論 1 8
  • 翁格《暮春》原詩矗蕊、注釋、翻譯氢架、賞析 【原文】:暮春翁格【清】莫怨春歸早傻咖,花余幾點紅。留將根蒂在岖研,歲歲有東風(fēng)卿操。 【注...
    xcy無名閱讀 547評論 0 0