课程
/后端开发
/Python
/Python开发简单爬虫
我用了同样的方法去抓取IMDB里面电影的信息,但是速度非常慢。请问怎么通过threading的方法能够同时获取new_urls和new_data?
2015-12-29
源自:Python开发简单爬虫
正在回答
赞思考,改成多线程,要多一些处理:
1、设定线程数目为N
2、改用multiprocessing.Process方法启动crawl方法N次,每个线程记录序号为N;
3、修改UrlManger,获取url的时候,需要提供序号参数,只返回hash(url)%N==0的url,或者干脆维护N个队列,每个线程单独使用自己的URL队列即可;
难点在于处理UrlManager和Outputer的多线程冲突,如果数据是存到MySQL,要么使用上面说的线程隔离的方法,要么使用DB加锁的方式处理冲突;
冯渣渣 提问者
举报
本教程带您解开python爬虫这门神奇技术的面纱