最新回答 / 小楠仔子
你說的js頁面應(yīng)該是指動態(tài)加載數(shù)據(jù)的js方法,而這些js調(diào)用方法一般會調(diào)用特定的API返回json數(shù)據(jù),所以直接訪問api然后解析返回的json數(shù)據(jù)是一種解決方案。我也是初學(xué),有不對的地方見諒。
2016-01-02
已采納回答 / blacksea3
剛看到一個最近的相似的問題-_-||有可能你的try-except中間的print 'craw %d : %s' %(count, new_url)到except那一塊某個地方使用的代碼打錯了而不是self.urls.has_new_url()==0導(dǎo)致的錯誤,python的百科里面是有別的鏈接的,你可以試著把try-except去掉,讓錯誤直接顯示出來中間這一塊指的是:html_cont=self.downloader.download(new_url)new_urls,new_data=self.pa...
2016-01-01
已采納回答 / 螞蟻帥帥
SpiderMain中的urls是在__init__構(gòu)造函數(shù)中初始化的,看下這個函數(shù)里面有self.urls變量的初始化嗎?
2015-12-30
已采納回答 / 螞蟻帥帥
贊思考,改成多線程,要多一些處理:1、設(shè)定線程數(shù)目為N2、改用multiprocessing.Process方法啟動crawl方法N次,每個線程記錄序號為N;3、修改UrlManger,獲取url的時候,需要提供序號參數(shù),只返回hash(url)%N==0的url,或者干脆維護N個隊列,每個線程單獨使用自己的URL隊列即可;難點在于處理UrlManager和Outputer的多線程沖突,如果數(shù)據(jù)是存到MySQL,要么使用上面說的線程隔離的方法,要么使用DB加鎖的方式處理沖突;
2015-12-29
已采納回答 / 螞蟻帥帥
瀏覽器的默認編碼是GBK;兩種方法可以解決:方法1、在<html>和<body>之間,加上<head><meta charset="utf-8"></head>方法2:、打開網(wǎng)頁后,如果是chrome瀏覽器,點菜單》更多工具》編碼,選擇UTF8,其他瀏覽器類似。
2015-12-24
已采納回答 / 螞蟻帥帥
瀏覽器的默認編碼是GBK;兩種方法可以解決:方法1、在<html>和<body>之間,加上<head><meta charset="utf-8"></head>方法2:、打開網(wǎng)頁后,如果是chrome瀏覽器,點菜單》更多工具》編碼,選擇UTF8,其他瀏覽器類似。
2015-12-24