Python 3.4 抓图

本文详细介绍了如何使用Python 3.4进行屏幕截图,包括安装必要的库,编写抓图代码,以及如何保存和处理截图图片。通过实例演示,读者将能够学会在Python环境下实现简单的屏幕抓取功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

import urllib.request
import os

# 未写
def proxy_open():
    # 安装代理 步骤
    # 1. 选择代理
    # 2. 建立代理
    # 3. 安装代理
    pass



def save_pic(url,filename):
    req = urllib.request.Request(url)
    req.add_header('User-Agent','Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.152 Safari/537.36')
    try:
        proxy_open()
        response = urllib.request.urlopen(req)
    except urllib.error.HTTPError:
        return
    pic = response.read()
    if len(pic) == 0:
        print('图片不存在')
        return
    f = open(filename,'wb')
    f.write(pic)
    f.close()

def find_pic(html):
    pic_list = []
    a = html.find('<div class=\"postContent\">')
    end = html.find('</p>',a)
    while True:
        b = html.find('src="',a)
        if b > end:
            break
        b += 5;
        a = html.find('"',b)
        pic_list.append(html[b:a])
    return pic_list

def get_pic(url,count):

    req = urllib.request.Request(url)
    req.add_header('User-Agent','Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.152 Safari/537.36')
    response = urllib.request.urlopen(req)
    html = response.read()
    html = html.decode('gbk')
    # print(str(html))
    # 找到图片链
    pic_list = find_pic(html)
    if len(pic_list) == 0:
        return
    # 保存图片
    index = 0
    for each in pic_list:
        print(each)
        filename = './OOXX/' + str(count) + '_' + str(index) + '.jpg'
        save_pic(each,filename)
        index += 1


def download_mm(folder = 'OOXX',pages = 100):
    try:
        os.mkdir(folder)
        os.chdir(folder)
    except FileExistsError:
        pass

    url_module = 'http://www.meizitu.com/a/%d.html'

    count = 1

    while True:
        if count >= pages:
            break
        url = url_module.replace('%d',str(count))
        get_pic(url,count)
        print(url)
        count += 1

if __name__ == '__main__':
    download_mm()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值