# -*- 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