Python 爬蟲批量下載美女圖片,給枯燥的工作添加點樂趣!

背景:


最近部門領導交給筆者一個爬取百度關鍵詞排名的任務。寫好了基本功能,能不能正常使用呢?於是乎,有了本文,爬取一些美女圖片,一來可以檢驗下爬蟲效果;二來呢,也可以養養眼,給工作增加點樂趣不是,哈哈。廢話少說,這就是要抓取的圖片了,很養眼吧。直接上代碼  地址:http://www.win4000.com/meitu.html

image.png


環境:(請讀者自行配置)


Python3

urllib3

BeautifulSoup

requests

請讀者自行查看審查元素,以確定抓取目標,完全生搬硬套,可能出問題


源代碼:


download_meinv.py


import os

from urllib.parse import urlparse  #應該是urllib3模塊帶來的,如果不是的話,之後在使用的過程在根據報錯信息進行解決吧

from bs4 import BeautifulSoup

import requests


'''導入模塊時先導入系統庫,在導入第三方庫'''

'''爬取美女網站首頁的所有照片'''


r = requests.get('http://www.win4000.com/meitu.html')

soup = BeautifulSoup(r.text,'html.parser')


img_list = []

for img in soup.select('img'):

    if img.has_attr('alt'):

        if img.has_attr('data-original'):

            img_list.append((img.attrs['alt'],img.attrs['data-original']))

        else:

            img_list.append((img.attrs['alt'],img.attrs['src']))


image_dir = os.path.join(os.curdir,'meinv')

if not os.path.isdir(image_dir):

    os.mkdir(image_dir)


for img in img_list:

    name = img[0] + '.' + 'jpg'

    o = urlparse(img[1])

    filepath = os.path.join(image_dir,name)

    url = '%s://%s/%s' % (o.scheme,o.netloc,o.path[1:].replace('_250_350',''))   #下載原圖

    print(url)


    resp = requests.get(url)

    with open(filepath,'wb') as f:

        for chunk in resp.iter_content(1024):  #如果圖片太大,以1024字節爲單位下載

            f.write(chunk)


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章