写的一个爬虫程序,主要用到以下库。但是伴随着代码增多,功能增多。经常性的程序崩溃现象,逐渐显现。
pyqt5_5.8.2,requests.get,selenium+chorme,threading.Thread,queue.Queue
多次完善代码与程序,甚至已经尝试了各种python版本,与pyqt5版本。甚至pyqt5-tools的版本也换了,都无法处理程序崩溃。
关于访问系统的地方,都已经加了线程锁。
程序崩溃的情况,基本上都会在程序运行一段很短的时间后就出现。
根据程序多次崩溃的情况,无法总结出崩溃的特征。出现崩溃的情况毫无征兆,每一次都出现在程序流程的不同地方。
目前可见的怀疑点在于pyuic转换ui文为py文件,生成的py文件总有一行代码
QtCore.QMetaObject.connectSlotsByName(MainWindow)
无法解析导致出错,把这行代码注释也是可以运行,经查网上的信息,说法甚少。
只找到一处,说到这行代码是与程序ui界面刷新有关。
总是出现程序崩溃,难以排查原因。
问题事件名称: APPCRASH
应用程序名:python.exe
应用程序版本:3.6.6150.1013
应用程序时间戳:5b330722
故障模块名称:Qt5Gui.dll
故障模块版本:5.8.0.0
故障模块时间戳:587fd80f
异常代码:c0000005
异常偏移:00000000000f3991
OS 版本:6.1.7601.2.1.0.256.1
区域设置 ID:2052
其他信息 1:b872
其他信息 2:b87237fef27100b1f99611e72e190746
其他信息 3:cddc
其他信息 4:cddc7f932bc69399719fb6c3bca599fa
这样的出错信息,经查网上信息,说法倒是挺多。具体原因是可能是内存泄露。
因为故障模块是Qt5Gui.dll,很有可能是pyqt5库方面的问题,联想到那一行无法解析的代码。有可能这个崩溃是因为那一行无法解析的代码造成的。
_________________________________________________________________________________________________________________________
多次测试,终于发现故障点所在。程序中设置了一个textBrower,用来实时显示信息。一是多线程运行程序时,有很多信息需要输出到tecxtBrower,输出信息过快导致程序崩溃。二是输出信息后,再做一个定位光标到文本最底,同样的因为输出信息太多,显示速度过快,导致崩溃。
Python 程序报错崩溃后,如何倒回到崩溃的位置?
假设我们有一段程序,从 Redis 中读取数据,解析以后提取出里面的 name 字段: import json import redis client = redis.Redis() def read ...
Ubuntu下配置python完成爬虫任务(笔记一)
Ubuntu下配置python完成爬虫任务(笔记一) 目标: 作为一个.NET汪,是时候去学习一下Linux下的操作了.为此选择了python来边学习Linux,边学python,熟能生巧嘛. 前期目 ...
Python简单爬虫入门二
接着上一次爬虫我们继续研究BeautifulSoup Python简单爬虫入门一 上一次我们爬虫我们已经成功的爬下了网页的源代码,那么这一次我们将继续来写怎么抓去具体想要的元素 首先回顾以下我们Bea ...
[Python] 网络爬虫和正则表达式学习总结
以前在学校做科研都是直接利用网上共享的一些数据,就像我们经常说的dataset.beachmark等等.但是,对于实际的工业需求来说,爬取网络的数据是必须的并且是首要的.最近在国内一家互联网公司实习, ...
python简易爬虫来实现自动图片下载
菜鸟新人刚刚入住博客园,先发个之前写的简易爬虫的实现吧,水平有限请轻喷. 估计利用python实现爬虫的程序网上已经有太多了,不过新人用来练手学习python确实是个不错的选择.本人借鉴网上的部分实现 ...
GJM : Python简单爬虫入门(二) [转载]
感谢您的阅读.喜欢的.有用的就请大哥大嫂们高抬贵手"推荐一下"吧!你的精神支持是博主强大的写作动力以及转载收藏动力.欢迎转载! 版权声明:本文原创发表于 [请点击连接前往] ,未经 ...
Python分布式爬虫原理
转载 permike 原文 Python分布式爬虫原理 首先,我们先来看看,如果是人正常的行为,是如何获取网页内容的. (1)打开浏览器,输入URL,打开源网页 (2)选取我们想要的内容,包括标题,作 ...
Python 网页爬虫 &; 文本处理 &; 科学计算 &; 机器学习 &; 数据挖掘兵器谱(转)
原文:http://www.52nlp.cn/python-网页爬虫-文本处理-科学计算-机器学习-数据挖掘 曾经因为NLTK的缘故开始学习Python,之后渐渐成为我工作中的第一辅助脚本语言,虽然开 ...
python网络爬虫学习笔记
python网络爬虫学习笔记 By 钟桓 9月 4 2014 更新日期:9月 4 2014 文章文件夹 1. 介绍: 2. 从简单语句中開始: 3. 传送数据给server 4. HTTP头-描写叙述 ...
随机推荐
SQL Server时间粒度系列----第7节日历数据表详解
本文目录列表: 1.时间粒度有关描述 2.时间维度有关功能函数3.日历数据表 4.日历数据表数据填充 5.总结语 6.参考清单列表 时间粒度有关描述 将该系列涉及到的时间粒度以及分钟以下的粒度 ...
log4j的使用详细解析
1 Log4j配置说明 1.1 配置文件Log4j可以通过java程序动态设置,该方式明显缺点是:如果需要修改日志输出级别等信息,则必须修改java文件,然后重新编译,很是麻烦: log4j也可以通过 ...
对已有的2个一维数组,譬如说A[],B[],经过最少循环找出2个数组重复的元素。
import java.util.Arrays; /** * Created by ccc on 16-4-27. */ public class Test { public static void ...
国外.net学习资源网站
转载 :出处:http://www.cnblogs.com/kingjiong/ 名称:快速入门地址 http://chs.gotdotnet.com/quickstart/ 描述:本站点是微软.NE ...
windows更改Jupyter Notebook工作的目录
1.将打开的Jupyter Notebook程序关闭,然后找到桌面快捷方式,右键=>属性,然后把目标后面输入框最后的“%USERPROFILE%”这个参数去掉后,确定.否则之后做的其它修改无法生 ...
ActiveMQ broker 集群, 静态发现和动态发现
下载 activemq 压缩包解压后,conf 目录下有各种示例配置文件,红线标出的是静态发现和动态发现的配置. 1. 静态配置 启动3个 broker,端口分别为61616,61618,61620, ...
如何在ubuntu上搭建服务器并且可以使用ftp上传
参考: 配置ftp: http://jingyan.baidu.com/article/67508eb4d6c4fd9ccb1ce470.html 配置ftp这个中把 新建 allowed_user ...
基于spring的异常一站式解决方案
https://segmentfault.com/a/1190000006749441#articleHeader4 https://lrwinx.github.io/2016/04/28/%E5%A ...
【题解】ZJOI2013蚂蚁寻路
这题强呀……打了10+30暴力之后苦想1h并不会做……于是去看题解.看题解的时候又莫名各种看错,结果看了好久才懂……记录一下血泪史吧. 这题不难发现走出来的图形就是一个高低高低的城堡型图案,命名为高峰 ...
Facebook支持python的开源预测工具Prophet
Facebook 宣布开源一款基于 Python 和 R 语言的数据预测工具――“Prophet”,即“先知”.取名倒是非常直白. Facebook 表示,Prophet 相比现有预测工具更加人性化, ...