python多线程定向爬虫
2016-08-29 13:41
197 查看
#!/bin/bash/env python import MySQLdb import requests import threading def toWrite(fp,lst,url): for i in lst: testurl = url+i[0] //定向url testurl = testurl.lower() print testurl rsp = requests.get(testurl) print rsp.status_code fp.write(i[0]+'\t'+str(rsp.status_code)+'\n') url = 'http://127.0.0.1/u/' conn = MySQLdb.connect('127.0.0.1','root','123456','coupon_site') cur = conn.cursor() res = cur.execute('select user_name_slug from app_coupon_api where couponid>642369') lst = cur.fetchall() fp = open('404.txt','w+') threads = [] for i in range(0,len(lst),150000): //分片,线程个数为: 总数组长度/150000 t = threading.Thread(target=toWrite,args=(fp,lst[i:i+150000],url)) //多线程参数传递 threads.append(t) for t in threads: //循环开启线程,setDaemon不等待同步 t.setDaemon(True) t.start() print(len(threads)) for t in threads: t.join()
相关文章推荐
- C++ Boost 之Python(生成一个扩展模块)
- Python指南--数据结构
- Python指南--数据结构
- 搭建Python的集成开发环境WingIDE
- Python指南--深入流程控制
- Python指南--深入流程控制
- 用Python实现数据库编程
- Python指南--开胃菜
- Python指南--开胃菜
- Python指南--初步认识Python
- Python指南--初步认识Python
- Python指南--前言
- Python指南--使用Python解释器
- Python指南--使用Python解释器
- Python指南--前言
- python库lxml在linux和WIN系统下的安装
- C++ Boost 之Python(一个简单的例子)
- C++ Boost 之Python(继承)
- C++ Boost 之Python(大纲)