设为首页收藏本站

Crossin的编程教室

 找回密码
 立即加入
楼主: crossin先生
打印 上一主题 下一主题

Python 实战(5):拿来主义

[复制链接]

0

主题

0

好友

34

积分

新手上路

Rank: 1

楼主
发表于 2017-9-10 12:43:11 |显示全部楼层
先生你好,可能是现在失效的id更多,抓取到的也是大概100多部,但是效率比较低,所以我按照之前的课程加入多线程,这样时间是减少了,可是为什么抓取下来,只成功了几部而已呢?

多线程代码.png (15.06 KB, 下载次数: 531)

多线程代码.png

回复

使用道具 举报

0

主题

0

好友

34

积分

新手上路

Rank: 1

沙发
发表于 2017-9-12 09:56:01 |显示全部楼层
crossin先生 发表于 2017-9-10 15:14
没有任何输出和调试信息,无法仅从你的代码看出

可能是因为你没用 join,所以程序直接在创建完所有线程 ...

如果说只是怕主程序提前退出的话,用先生之前的加入一行input语句就应该可以搞定,试了下也是没效果(在for外面),关于join的用法,查询到应该是在所有的线程都开启后,逐个join,这样一来,线程的变量名就要逐个定义,感觉应该不是这样的用法,理解的有点浅,还望先生指教

对 关于报错的,在执行的时候会有这样的ERR错误,其余都无报错

20170911_212344.png (18.35 KB, 下载次数: 521)

20170911_212344.png

回复

使用道具 举报

0

主题

0

好友

34

积分

新手上路

Rank: 1

板凳
发表于 2017-9-12 12:38:50 |显示全部楼层
crossin先生 发表于 2017-9-12 11:51
把你的try去掉,或者在except里输出报错信息,不然你这个看到的都是你自己输出的 error,把真实error覆盖 ...

请求太快会直接在我运行代码的时候就报错,添加了报错信息之后发现,显示为database is locked,然后查询了一下发现是sqlite 对多线程并发不是很支持,尤其是并发写入
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即加入

QQ|手机版|Archiver|Crossin的编程教室 ( 苏ICP备15063769号  

GMT+8, 2024-11-1 08:11 , Processed in 0.015224 second(s), 23 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部