《python3网络爬虫开发实战》学习笔记:pyspider all报错的解决

本文解决PyspiderAll在运行时遇到的三个常见报错:Python保留字冲突、WsgiDAV版本不兼容及werkzeug导入错误。通过修改保留字、降级依赖库版本和正确导入类等步骤,确保爬虫框架正常运行。

'http_au@[TOC](pyspider all 报错解决)

pyspider all 出现报错,一共三个报错。
之前有两个报错,csdn上的大神已经解决了。参见《pyspider all运行出错:①SyntaxError: invalid syntax,② - Deprecated option ‘domaincontroller’: use 'http_au》。前面这两个图也是来源此作者

第一个报错:
在这里插入图片描述

主要是async是python3.7的保留字,pyspider库中的有些文件与之重复而出现报错,就三个文件,这三个文件的找法可以参照《windows客户端pip安装pyspider完全指南(SyntaxError:invalid syntax、async语法报错、非引用替换关键字、全局查找针对性替换、Pycharm)》,async的具体位置在pycharm中会有红色标注,替换的词可以任意选择,我就在后面加了一个下划线即“async_”;

第二个报错:
在这里插入图片描述

这是由于WsgiDAV发布了新版本 pre-release 3.x,所以只要把版本降下来就好了。将wsgidav替换为2.4.1,在命令行下运行
python -m pip install wsgidav==2.4.1。

第三个报错:
在这里插入图片描述
如报错所说是import错误。werkzeug.wsgi中没有class DispatcherMiddleware。这个class DispatcherMiddleware在werkzeug\middleware中,path显示C:\Users\Administrator\AppData\Local\Programs\Python\Python37\Lib\site-packages\werkzeug\middleware\dispatcher.py。
然后在app.py中64行输入“from werkzeug.middleware.dispatcher import DispatcherMiddleware” 即可 如下图
在这里插入图片描述
之后,输入pyspider all 就好了
在这里插入图片描述
正常运行如下:
在这里插入图片描述
[1]: https://blog.youkuaiyun.com/u012424313/article/details/89511520?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task
[2]: https://blog.youkuaiyun.com/qq_40916793/article/details/100163293?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task

以下是一些与 PyQt5 相关的项目资源、示例和教程,涵盖从入门到进阶的多个方向,适合不同层次的开发者参考和学习: ### PyQt5 开源项目与代码示例 1. **PyQt5 代码笔记** 是一个专注于 PyQt5 编程的开源项目,通过实际代码示例帮助开发者掌握 PyQt5 的各种功能和控件。该项目由经验丰富的开发者维护,内容持续更新,具有较强的实用性[^1]。 2. **PyQt5 快速开发实战** 是一本系统性教材,填补了市场上缺乏 PyQt5 教程的空白。它不仅适合初学者入门,也为有经验的开发者提供了深入的技术内容,是学习 PyQt5 的优质资源[^2]。 3. **PyQt5 开源项目指南** 提供了 PyQt5 的快速启动指南,涵盖安装步骤和基本使用。PyQt5 是一个强大的跨平台 GUI 库,支持现代 GUI 的标准功能,并集成了网络编程、多线程、数据库访问等高级功能,适合开发高性能桌面应用[^3]。 ### 使用 PyQt5 的网络爬虫项目 1. **PySpider-GUI** 是一个基于 PyQt5 的网络爬虫 GUI 工具,用于管理和运行爬虫任务,适合希望将爬虫与图形界面结合的开发者。 2. **Scrapy-GUI** 是结合 Scrapy 和 PyQt5 的图形界面工具,用于监控和管理 Scrapy 爬虫的运行状态。 3. **WebScraper** 是一个使用 PyQt5 创建的简单网络爬虫工具,用户可通过界面输入 URL 并抓取数据。 4. **PyQt-WebScraper** 支持多线程爬取和数据展示,适合需要高性能爬虫界面的开发者。 5. **PyQt5-Scraper** 是一个简单的 PyQt5 界面爬虫示例,适合初学者了解 PyQt5 与爬虫结合的基本实现方式[^4]。 ### PyQt5 与人工智能结合的项目示例 **YoloV5_PyQt5 开源项目** 是一个将目标检测模型 YOLOv5 与 PyQt5 结合的 GUI 应用项目。项目的主启动文件位于 `PyQt5_App/main.py`,负责初始化 GUI 应用、加载配置、集成 YOLOv5 模型,并驱动整个应用流程。用户可通过该界面上传图片、进行目标检测等操作,是将深度学习模型与 PyQt5 结合的典型应用[^5]。 ### 示例代码:PyQt5 基础窗口程序 以下是一个使用 PyQt5 创建基础窗口的示例代码: ```python import sys from PyQt5.QtWidgets import QApplication, QWidget def main(): app = QApplication(sys.argv) window = QWidget() window.setWindowTitle('PyQt5 基础窗口') window.setGeometry(100, 100, 400, 300) window.show() sys.exit(app.exec_()) if __name__ == '__main__': main() ``` ### 示例代码:PyQt5 与按钮点击事件 ```python import sys from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QMessageBox def on_click(): QMessageBox.information(window, '提示', '按钮被点击了!') app = QApplication(sys.argv) window = QWidget() window.setWindowTitle('PyQt5 按钮示例') window.setGeometry(100, 100, 400, 300) button = QPushButton('点击我', window) button.clicked.connect(on_click) button.move(150, 100) window.show() sys.exit(app.exec_()) ```
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值