0
点赞
收藏
分享

微信扫一扫

图片爬虫GUI

niboac 2022-01-06 阅读 78
# -*- coding: utf-8 -*-

# Form implementation generated from reading ui file '图片爬虫.ui'
#
# Created by: PyQt5 UI code generator 5.15.4
#
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again.  Do not edit this file unless you know what you are doing.
import re
import sys
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *
import requests
import bs4
import os
from PyQt5 import QtCore, QtGui, QtWidgets


class Ui_MainWindow(object):
    def setupUi(self, MainWindow):
        MainWindow.setObjectName("MainWindow")
        MainWindow.resize(800, 600)
        self.centralwidget = QtWidgets.QWidget(MainWindow)
        self.centralwidget.setObjectName("centralwidget")


        self.label = QtWidgets.QLabel(self.centralwidget)
        self.label.setGeometry(QtCore.QRect(210, 30, 371, 311))
        self.label.setText("")
        self.label.setObjectName("label")
        self.label.setStyleSheet("background-color: white")


        self.pushButton = QtWidgets.QPushButton(self.centralwidget)
        self.pushButton.setGeometry(QtCore.QRect(340, 370, 93, 28))
        self.pushButton.setObjectName("pushButton")

        self.pushButton_2 = QtWidgets.QPushButton(self.centralwidget)
        self.pushButton_2.setGeometry(QtCore.QRect(210, 460, 93, 28))
        self.pushButton_2.setObjectName("pushButton_2")

        self.pushButton_3 = QtWidgets.QPushButton(self.centralwidget)
        self.pushButton_3.setGeometry(QtCore.QRect(470, 460, 93, 28))
        self.pushButton_3.setObjectName("pushButton_3")

        MainWindow.setCentralWidget(self.centralwidget)
        self.statusbar = QtWidgets.QStatusBar(MainWindow)
        self.statusbar.setObjectName("statusbar")

        MainWindow.setStatusBar(self.statusbar)

        self.retranslateUi(MainWindow)
        QtCore.QMetaObject.connectSlotsByName(MainWindow)

        self.pushButton.clicked.connect(self.m)
        self.pushButton_2.clicked.connect(self.s)
        self.pushButton_3.clicked.connect(self.x)

        self.s=1
    def retranslateUi(self, MainWindow):
        _translate = QtCore.QCoreApplication.translate
        MainWindow.setWindowTitle(_translate("MainWindow", "图片爬虫"))
        self.pushButton.setText(_translate("MainWindow", "开始爬取"))
        self.pushButton_2.setText(_translate("MainWindow", "上一张"))
        self.pushButton_3.setText(_translate("MainWindow", "下一张"))

    def m(self):
        pa('http://www.netbian.com/')
    def s(self):
        self.s= self.s-1

        pic = QPixmap('./{}.jpg'.format(self.s))
        self.label.setPixmap(pic)
        self.label.setScaledContents(True)  # 图片自适应LABEL大小
    def x(self):
        self.s= self.s+1
        pic = QPixmap('./{}.jpg'.format(self.s))
        self.label.setPixmap(pic)
        self.label.setScaledContents(True)  # 图片自适应LABEL大小
def pa(url):
    headers = {
        'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.25 Safari/537.36'}
    response = requests.get(url, headers=headers)
    print(response.request.headers)
    print(response.text)
    html = response.text
    urls = re.findall('<img src="(.*?)" alt=".*?">', html)
    print(urls)
    i = 0
    for url in urls:
        response = requests.get(url, headers=headers)
        i = i + 1
        with open('E:\\Python\\' + (str(i) + '.jpg'), 'wb') as f:
            f.write(response.content)
            f.close()


if __name__ == "__main__":
  app = QtWidgets.QApplication(sys.argv) # 创建一个QApplication,也就是你要开发的软件app
  MainWindow = QtWidgets.QMainWindow()  # 创建一个QMainWindow,用来装载你需要的各种组件、控件
  ui = Ui_MainWindow()             # ui是你创建的ui类的实例化对象
  ui.setupUi(MainWindow)         # 执行类中的setupUi方法,方法的参数是第二步中创建的QMainWindow
  MainWindow.show()            # 执行QMainWindow的show()方法,显示这个QMainWindow
  sys.exit(app.exec_())          # 使用exit()或者点击关闭按钮退出QApplication



举报

相关推荐

0 条评论