解析器HtmlParser的一個問題,急!
請問解析器里面的new_urls = set()和res_data = dict()如果放在__init__構造函數里面為什么不行?我嘗試過,new_urls不影響,但是res_data放在構造函數里面,最終解析出的title和summary是重復的,打印Outputer里面的datas數據,每次的值一樣,而且是重復的,如craw 2重復兩組一樣的,craw 3重復三組一樣的,見圖
在線等,急死我了,困擾我一周了?。。。。。。。。。?/p>
請問解析器里面的new_urls = set()和res_data = dict()如果放在__init__構造函數里面為什么不行?我嘗試過,new_urls不影響,但是res_data放在構造函數里面,最終解析出的title和summary是重復的,打印Outputer里面的datas數據,每次的值一樣,而且是重復的,如craw 2重復兩組一樣的,craw 3重復三組一樣的,見圖
在線等,急死我了,困擾我一周了?。。。。。。。。。?/p>
2016-04-06
舉報
2016-04-06
放函數和放構造函數里的區(qū)別是什么?變量的變化有什么區(qū)別?關鍵就是弄清楚這個問題吧
2016-04-06
由于項目我還沒有理清楚,所以也答不了。
不過,對這個現象,我說個可能。
老師項目里 new_urls是集合,res_data是詞典,你好像兩個都是集合類型,不知道有沒有可不可以。
你把這兩個變量都放到構造函數里的結果就是,這兩個變量成為全局變量(可能不叫全局變量),結果就是,每調用一次_get_new_data() 函數,res_data都會累積所有已經爬到的網頁。
我也搞糊涂了,大概就這個區(qū)別吧,你再理理