Python多线程如何抓取网站内容

开发 后端
Python多线程需要我们不断的进行学习,只有更好的学习才能不断的进行相关语言的应用。希望大家在之后的学习中有所收获。

 

Python多线程在不断的使用中需要我们更多的学习相关的技术知识。单线程太慢的话,就需要Python多线程了,这里给个简单的线程池模板。这个程序只是简单地打印了110,但是可以看出是并发地。

  1. from threading import Thread  
  2. from Queue import Queue  
  3. from time import sleep  
  4. #q是任务队列  
  5. #NUM是并发线程总数  
  6. #JOBS是有多少任务  
  7. q = Queue()  
  8. NUM = 2 
  9. JOBS = 10 
  10. #具体的处理函数,负责处理单个任务  
  11. def do_somthing_using(arguments):  
  12. print arguments  
  13. #这个是工作进程,负责不断从队列取数据并处理  
  14. def working():  
  15. while True:  
  16. arguments = q.get()  
  17. do_somthing_using(arguments)  
  18. sleep(1)  
  19. q.task_done()  
  20. #fork NUM个线程等待队列  
  21. for i in range(NUM):  
  22. t = Thread(target=working)  
  23. t.setDaemon(True)  
  24. t.start()  
  25. #把JOBS排入队列  
  26. for i in range(JOBS):  
  27. q.put(i)  
  28. #等待所有JOBS完成 

q.join()5.验证码的处理碰到验证码咋办?这里分两种情况处理:

google那种验证码,凉拌

简单的验证码:字符个数有限,只使用了简单的平移或旋转加噪音而没有扭曲的,这种还是有可能可以处理的,一般思路是旋转的转回来,噪音去掉,然后划分 单个字符,划分好了以后再通过特征提取的方法(例如PCA) 降维并生成特征库,然后把验证码和特征库进行比较。这个比较复杂,一篇博文是说不完的,这里就不展开了,具体做法请弄本相关教科书好好研究一下。

事实上有些验证码还是很弱的,这里就不点名了,反正我通过2的方法提取过准确度非常高的验证码,所以2事实上是可行的。

基本上我遇到过的所有情况,用以上方法都顺利解决了,不太清楚还有没有其他漏掉的情况,所以本文到这里就完成了,以后要是碰上其他情况,再补充相关方法好 了:)

【编辑推荐】

  1. Python逻辑操作中的三大应用方案
  2. 简介Python代码两大实际应用手册
  3. Python语言如何在C语言中实现操作
  4. Python编程语言如何保存搜索引擎结果
  5. Python脚本在游戏中寻找自己的知音
责任编辑:张浩 来源: IT专家网
相关推荐

2011-06-22 18:05:30

SEO网站内容

2011-05-30 16:44:06

SEO

2011-05-23 18:39:13

网站内容优化

2011-06-07 15:03:29

SEO外链

2011-06-09 16:36:00

SEO网站内容

2011-06-29 15:21:22

网站内容SEO

2011-06-20 16:27:06

2011-06-20 16:34:01

SEO

2011-06-20 13:56:56

内链

2010-02-01 17:18:23

Python多线程环境

2011-06-29 16:18:31

SEO

2010-03-03 15:39:50

Python抓取网页内

2011-07-22 15:23:46

SEO

2011-05-30 16:55:33

内部链接

2010-03-15 17:56:23

Java多线程

2011-06-24 17:23:30

网站优化

2011-06-21 16:26:19

SEO内部优化

2010-02-01 17:25:09

Python多线程

2023-10-06 23:06:01

多线程Python

2012-07-24 10:05:26

豌豆荚百宝袋
点赞
收藏

51CTO技术栈公众号