最新回答 / 小楠仔子
你说的js页面应该是指动态加载数据的js方法,而这些js调用方法一般会调用特定的API返回json数据,所以直接访问api然后解析返回的json数据是一种解决方案。我也是初学,有不对的地方见谅。
2016-01-02
已采纳回答 / blacksea3
刚看到一个最近的相似的问题-_-||有可能你的try-except中间的print 'craw %d : %s' %(count, new_url)到except那一块某个地方使用的代码打错了而不是self.urls.has_new_url()==0导致的错误,python的百科里面是有别的链接的,你可以试着把try-except去掉,让错误直接显示出来中间这一块指的是:html_cont=self.downloader.download(new_url)new_urls,new_data=self.pa...
2016-01-01
网页解析器下载网址:
http://www.crummy.com/software/BeautifulSoup/
http://www.crummy.com/software/BeautifulSoup/
2015-12-31
已采纳回答 / 蚂蚁帅帅
赞思考,改成多线程,要多一些处理:1、设定线程数目为N2、改用multiprocessing.Process方法启动crawl方法N次,每个线程记录序号为N;3、修改UrlManger,获取url的时候,需要提供序号参数,只返回hash(url)%N==0的url,或者干脆维护N个队列,每个线程单独使用自己的URL队列即可;难点在于处理UrlManager和Outputer的多线程冲突,如果数据是存到MySQL,要么使用上面说的线程隔离的方法,要么使用DB加锁的方式处理冲突;
2015-12-29