Python使用爬蟲(chóng)抓取美女圖片并保存到本地的方法【測(cè)試可用】
本文實(shí)例講述了Python使用爬蟲(chóng)抓取美女圖片并保存到本地的方法。分享給大家供大家參考,具體如下:
圖片資源來(lái)自于www.qiubaichengren.com
代碼基于Python 3.5.2
謹(jǐn)慎閱圖!
謹(jǐn)慎閱圖!!
謹(jǐn)慎閱圖?。。?/p>
code:
#!/usr/bin/env python # -*- coding: utf-8 -*- import os import urllib import urllib.request import re from urllib.error import URLError class QsSpider: def __init__(self): self.user_agent = 'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)' self.header = {'User-Agent': self.user_agent} self.save_dir = './pic' self.url = 'http://www.qiubaichengren.com/%s.html' def start(self): for i in range(1, 10): self.load_html(str(i)) def load_html(self, page): try: web_path = self.url % page request = urllib.request.Request(web_path, headers=self.header) with urllib.request.urlopen(request) as f: html_content = f.read().decode('gb2312') # print(html_content) self.pick_pic(html_content) except URLError as e: print(e.reason) return def save_pic(self, img): print(img) save_path = self.save_dir + "/" + img.replace(':', '@').replace('/', '_') if not os.path.exists(self.save_dir): os.makedirs(self.save_dir) print(save_path) urllib.request.urlretrieve(img, save_path) pass def pick_pic(self, html_content): regex = r'src="(http:.*?\.(?:jpg|png|gif))' patten = re.compile(regex) pic_path_list = patten.findall(html_content) for i in pic_path_list: self.save_pic(str(i)) print(i) spider = QsSpider() spider.start()
代碼運(yùn)行后可得到如下N多大飽眼福的美女圖:
更多關(guān)于Python相關(guān)內(nèi)容可查看本站專(zhuān)題:《Python Socket編程技巧總結(jié)》、《Python正則表達(dá)式用法總結(jié)》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python入門(mén)與進(jìn)階經(jīng)典教程》及《Python文件與目錄操作技巧匯總》
希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。
相關(guān)文章
Python自動(dòng)化測(cè)試框架之unittest使用詳解
unittest是Python自動(dòng)化測(cè)試框架之一,提供了一系列測(cè)試工具和接口,支持單元測(cè)試、功能測(cè)試、集成測(cè)試等多種測(cè)試類(lèi)型。unittest使用面向?qū)ο蟮乃枷雽?shí)現(xiàn)測(cè)試用例的編寫(xiě)和管理,可以方便地?cái)U(kuò)展和定制測(cè)試框架,支持多種測(cè)試結(jié)果輸出格式2023-04-04Python+Matplotlib實(shí)現(xiàn)給圖像添加文本標(biāo)簽與注釋
這篇文章主要為大家分享一下如何使用python+matplotlib給繪制的圖像添加文本標(biāo)簽與注釋。文中的示例代碼講解詳細(xì),感興趣的可以了解一下2022-04-04Python 找出出現(xiàn)次數(shù)超過(guò)數(shù)組長(zhǎng)度一半的元素實(shí)例
這篇文章主要介紹了Python 找出出現(xiàn)次數(shù)超過(guò)數(shù)組長(zhǎng)度一半的元素實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-05-05python使用在線API查詢(xún)IP對(duì)應(yīng)的地理位置信息實(shí)例
這篇文章主要介紹了python使用在線API查詢(xún)IP對(duì)應(yīng)的地理位置信息實(shí)例,需要的朋友可以參考下2014-06-06python next()和iter()函數(shù)原理解析
這篇文章主要介紹了python next()和iter()函數(shù)原理解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-02-02Python中的函數(shù)式編程:不可變的數(shù)據(jù)結(jié)構(gòu)
今天小編就為大家分享一篇關(guān)于Python中的函數(shù)式編程:不可變的數(shù)據(jù)結(jié)構(gòu),小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2018-10-10mat矩陣和npy矩陣實(shí)現(xiàn)互相轉(zhuǎn)換(python和matlab)
這篇文章主要介紹了mat矩陣和npy矩陣實(shí)現(xiàn)互相轉(zhuǎn)換(python和matlab),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-07-07