Python爬蟲之爬網(wǎng)頁圖片

首先確認已經(jīng)安裝Python

安裝requests庫

pip install requests

# Requests 是用Python語言編寫,基于 urllib做入,采用 Apache2 Licensed 開源協(xié)議的 HTTP 庫。

# 它比 urllib 更加方便,可以節(jié)約我們大量的工作而线,完全滿足 HTTP 測試需求。

# Requests 的哲學是以 PEP 20 的習語為中心開發(fā)的恋日,所以它比 urllib 更加 Pythoner膀篮。更重要的一點是它支持 Python3 哦!

# 關(guān)于requests? http://docs.python-requests.org/zh_CN/latest/user/quickstart.html

import requests

import os

#

# 通過url打開鏈接

#

def url_open(url):

? ? headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:55.0) Gecko/20100101 Firefox/55.0'}

? ? return requests.get(url, headers)

#

# 根據(jù)url獲取總頁數(shù)

# 注意:此方法只針對http://jandan.net/ooxx/岂膳,如果是其他頁面誓竿,需要重寫邏輯

#

def get_page(url):

? ? html = url_open(url).text

? ? a = html.find('current-comment-page') + 23

? ? b = html.find(']', a)

? ? return html[a:b]

#

# 根據(jù)url獲取圖片列表

#

def find_imgs(url):

? ? html = url_open(url).text

? ? img_addrs = []

? ? a = html.find('img src=')

? ? while a != -1:

? ? ? ? b = html.find('.jpg', a, a + 255)

? ? ? ? if b != -1:

? ? ? ? ? ? img_addrs.append("http:" + html[a + 9:b + 4])

? ? ? ? else:

? ? ? ? ? ? b = a + 9

? ? ? ? a = html.find('img src', b)

? ? return img_addrs

#

# 下載并保存圖片至當前目錄

#

def save_imgs(img_addrs):

? ? for each in img_addrs:

? ? ? ? filename = each.split('/')[-1]

? ? ? ? with open(filename, 'wb') as f:

? ? ? ? ? ? img = url_open(each).content

? ? ? ? ? ? f.write(img)

#

# 入口方法

#

def download_mm(folder="ooxx"):

? ? if os.path.isdir(folder):

? ? ? ? # os.rmdir(folder)

? ? ? ? print('路徑已存在!~ ')

? ? else:

? ? ? ? # 創(chuàng)建圖片保存路徑

? ? ? ? os.mkdir(folder)

? ? # 改變當前工作目錄(切換至改目錄)

? ? os.chdir(folder)

? ? url = "http://jandan.net/ooxx/"

? ? page_num = int(get_page(url))

? ? print('頁數(shù):', page_num)

? ? total = 0

? ? while (page_num != 0):

? ? ? ? page_url = url + 'page-' + str(page_num) + '#comments'

? ? ? ? img_addrs = find_imgs(page_url)

? ? ? ? # 下載保存圖片

? ? ? ? save_imgs(img_addrs)

? ? ? ? count = len(img_addrs)

? ? ? ? total += count

? ? ? ? print('第', page_num, '頁,共', count, '張', img_addrs)

? ? ? ? page_num -= 1

? ? print('總共圖片:', total, '(張)')

#

# 主入口

#

if __name__ == '__main__':

? ? download_mm()

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末谈截,一起剝皮案震驚了整個濱河市筷屡,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌簸喂,老刑警劉巖毙死,帶你破解...
    沈念sama閱讀 221,548評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異喻鳄,居然都是意外死亡扼倘,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,497評論 3 399
  • 文/潘曉璐 我一進店門除呵,熙熙樓的掌柜王于貴愁眉苦臉地迎上來再菊,“玉大人,你說我怎么就攤上這事颜曾【腊危” “怎么了?”我有些...
    開封第一講書人閱讀 167,990評論 0 360
  • 文/不壞的土叔 我叫張陵泛豪,是天一觀的道長稠诲。 經(jīng)常有香客問我,道長诡曙,這世上最難降的妖魔是什么吕粹? 我笑而不...
    開封第一講書人閱讀 59,618評論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮岗仑,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘聚请。我一直安慰自己荠雕,他們只是感情好稳其,可當我...
    茶點故事閱讀 68,618評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著炸卑,像睡著了一般既鞠。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上盖文,一...
    開封第一講書人閱讀 52,246評論 1 308
  • 那天嘱蛋,我揣著相機與錄音,去河邊找鬼五续。 笑死洒敏,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的疙驾。 我是一名探鬼主播凶伙,決...
    沈念sama閱讀 40,819評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼它碎!你這毒婦竟也來了函荣?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,725評論 0 276
  • 序言:老撾萬榮一對情侶失蹤扳肛,失蹤者是張志新(化名)和其女友劉穎傻挂,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體挖息,經(jīng)...
    沈念sama閱讀 46,268評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡金拒,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,356評論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了旋讹。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片殖蚕。...
    茶點故事閱讀 40,488評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖沉迹,靈堂內(nèi)的尸體忽然破棺而出睦疫,到底是詐尸還是另有隱情,我是刑警寧澤鞭呕,帶...
    沈念sama閱讀 36,181評論 5 350
  • 正文 年R本政府宣布蛤育,位于F島的核電站,受9級特大地震影響葫松,放射性物質(zhì)發(fā)生泄漏瓦糕。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,862評論 3 333
  • 文/蒙蒙 一腋么、第九天 我趴在偏房一處隱蔽的房頂上張望咕娄。 院中可真熱鬧,春花似錦珊擂、人聲如沸圣勒。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,331評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽圣贸。三九已至挚歧,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間吁峻,已是汗流浹背滑负。 一陣腳步聲響...
    開封第一講書人閱讀 33,445評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留用含,地道東北人矮慕。 一個月前我還...
    沈念sama閱讀 48,897評論 3 376
  • 正文 我出身青樓,卻偏偏與公主長得像耕餐,于是被迫代替她去往敵國和親凡傅。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,500評論 2 359