Python爬虫爬取美女写真实例

Kefira ·
更新时间:2024-09-21
· 832 次阅读

Python爬虫爬取美女写真实例

微信关注公众号:夜寒信息
致力于为每一位用户免费提供更优质技术帮助与资源供给,感谢支持!

  这是我写的一个较为简单的爬虫代码,用于爬取美女写真(咳咳,当然是正规网站)只用到了requests库,未用到BeautifulSoup,所以比较简单,适合爬虫初学者看看。后续会出使用requests+beautifulsoup的爬虫案例,及正则表达式的应用案例。请持续关注,谢谢。

  代码中我使用了以下库,大家可以在cmd使用以下代码安装:

pip install Pyside2 pip install requests

  其中,Pyside2是GUI编程库,以后会出Pyside2的教学博客,请持续关注。这里仅简单使用Pyside2,我们需要导入其中的一些类,同时需要os库来创建存放图片的文件夹,requests是必不可少的就不再赘述

from PySide2.QtWidgets import QApplication, QMainWindow, QPushButton, QMessageBox, QLineEdit import requests import os

  接着我们写好UI窗口所需的代码,先创建一个友好的界面,输入框输入下载图片的数量,案件点击开始下载,下载完毕弹出下载提示:

app = QApplication([]) window = QMainWindow() window.resize(500, 200) window.move(300, 310) window.setWindowTitle('图片保存') textEdit = QLineEdit(window) textEdit.setPlaceholderText("请输入图片数量,整数,例:50") textEdit.move(10,75) textEdit.resize(300,25) button = QPushButton('下载', window) button.move(380,75) button.clicked.connect(download) window.show() app.exec_()

  接着我们需要编写爬取图片所需的代码,这里使用try+except和r.raise_for_status()方法来检测爬取请求报错,这里我在之前的爬虫教程讲过。我的代码不够完善,在后期测试时输入500张图片则会下载出错,可能有些图片的名称与与其不同,我们可以再加一个try+expect来处理异常,若出现名称问题,下载下一张图片,而不是中断执行。下文代码未修改,大家可自行修改:

def download(): global num url_head = 'https://mtl.gzhuibei.com/images/img/' url_tail = '/1.jpg' url_num = '20800' pic_name = '0' pic_tail = '.jpg' file = 'D:/图片爬取/' agent = {'user-agent':'Chrom/81.0.4044.113'} num = eval(textEdit.text()) try: while (num): path = file + pic_name + pic_tail r = requests.get(url_head + url_num + url_tail, headers = agent) r.raise_for_status() with open(path, 'wb') as f: f.write(r.content) f.close() #print('图片下载成功!') url_num = str(eval(url_num) + 1) pic_name = str(eval(pic_name) + 1) num -= 1 if num == 0: QMessageBox.about(window,'提示','下载成功!\n图片位置在“D:/图片爬取” ') except: QMessageBox.about(window,'提示','下载失败!')

  接着我们将两部分进行连接,窗口与代码的连接我会在Pyside2的教程讲解,请持续关注。推荐大家使用Pyside2而不是PyQt5,因为Pyside2是Python亲儿子,而PyQt5不是,但他们的类和方法都是一样的,可通用使用,切换不难。
以下是所有源码:

from PySide2.QtWidgets import QApplication, QMainWindow, QPushButton, QMessageBox, QLineEdit import requests import os def download(): global num url_head = 'https://mtl.gzhuibei.com/images/img/' url_tail = '/1.jpg' url_num = '20800' pic_name = '0' pic_tail = '.jpg' file = 'D:/图片爬取/' agent = {'user-agent':'Chrom/81.0.4044.113'} num = eval(textEdit.text()) try: while (num): path = file + pic_name + pic_tail r = requests.get(url_head + url_num + url_tail, headers = agent) r.raise_for_status() with open(path, 'wb') as f: f.write(r.content) f.close() #print('图片下载成功!') url_num = str(eval(url_num) + 1) pic_name = str(eval(pic_name) + 1) num -= 1 if num == 0: QMessageBox.about(window,'提示','下载成功!\n图片位置在“D:/图片爬取” ') except: QMessageBox.about(window,'提示','下载失败!') app = QApplication([]) window = QMainWindow() window.resize(500, 200) window.move(300, 310) window.setWindowTitle('图片保存') textEdit = QLineEdit(window) textEdit.setPlaceholderText("请输入图片数量,整数,例:50") textEdit.move(10,75) textEdit.resize(300,25) button = QPushButton('下载', window) button.move(380,75) button.clicked.connect(download) window.show() app.exec_()

打包好后的程序文件在这里,大家可按需自行下载
https://ww.lanzous.com/ibi5tha

若有问题请关注微信公众号"夜寒信息"
  

微信关注公众号:夜寒信息
致力于为每一位用户免费提供更优质技术帮助与资源供给,感谢支持!


作者:山寺桃花始盛开



美女 python爬虫 Python

需要 登录 后方可回复, 如果你还没有账号请 注册新账号