吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2310|回复: 13
收起左侧

[求助] python表情包一键下载

[复制链接]
flower0712 发表于 2020-2-26 17:20
对之前的表情包进行升级简单的制作一个界面但是存在一个小问题程序运行时会未响应,但不会影响表情包的爬取
[Python] 纯文本查看 复制代码
import requests
import re
import random
from tkinter.filedialog import askdirectory
from tkinter import *
#选择保存位置

class download():
    @staticmethod
    def selectPath():
        path_ = askdirectory()
        path.set(path_)
        local=path_
        return local
    @staticmethod
#下载   
    def loaddown():
        txt=Text(root)
        txt.grid(row = 2, column = 0)
        trouble=0
        local_=download().selectPath()
        while (1):
            
            
            n=random.randrange(2,2600)
            url=(r'http://www.doutula.com/photo/list/?page=%d'%n)
            headers = {
           'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36',
           
           }
            result=requests.get(url=url,headers=headers).text
            pattern=re.compile('data-original="(.*?)"\salt="(.*?)"\sclass=',re.S)
            image_urls=re.findall(pattern,result)
            for image_url in image_urls:
                image_name=image_url[1]
                image=requests.get(url=image_url[0],headers=headers).content
            
                try:
                    with open(r'%s\%s'%(local_,image_name+'.'+image_url[0].split('.')[-1]),'wb')as file:
                        file.write(image)
                
                except:
                    print('下载错误')
                    trouble+=1
                    s=str('下载错误\n下载错误%d张'%(trouble))
                    txt.insert(END,s)
                    root.update()
            
            #print('页码%d下载完成\n下载错误%d张'%(n,trouble))
#界面
root=Tk()
root.geometry('460x240')
root.title('表情包下载')
path = StringVar()
#Label(root,text = "目标路径:").grid(row = 0, column = 0)
#Entry(root, textvariable = path).grid(row = 0, column = 1)
#Button(root, text = "路径选择", command = download.selectPath).grid(row = 0, column = 2)

btn1 = Button(root, text='开始下载', command=download.loaddown).grid(row = 1, column = 0)

root.mainloop()

%[DZ`]2C@C1GK0BHP2T6SSH.png
ZY}Z(Q9BPXXCCQA`JM7OWGM.png

免费评分

参与人数 2吾爱币 +2 热心值 +1 收起 理由
chxi + 1 谢谢@Thanks!
lm2015 + 1 + 1 谢谢@Thanks!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

第七只海东青 发表于 2020-2-26 17:26
谢谢分享
xx133789 发表于 2020-2-26 17:29
xty20160610 发表于 2020-2-26 17:31
52小柯柯 发表于 2020-2-26 17:31
tkinter每一帧都不能因为你的程序阻塞,阻塞了就无响应
伴雨而来 发表于 2020-2-26 17:44
感谢感谢
墓守人 发表于 2020-2-26 17:49
怎么用呀
yekenyh 发表于 2020-2-26 17:55
感谢楼主分享,表情包可以的
怀斯曼 发表于 2020-2-26 19:32
感谢楼主分享
青蛙考拉 发表于 2020-2-26 23:36
这种代码是不是一般都用PYCHARM打开使用啊
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-26 22:29

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表