1
我用python編寫了一個蜘蛛程序。它可以遞歸地抓取網頁。我想避免下載相同的網頁,所以我存儲在一個列表中的網址如下:如何避免在我的python蜘蛛程序中重複下載url?
urls = []
def download(mainPage): # mainPage is a link
global urls
links = getHrefLinks(mainPage)
for l in links:
if l not in urls:
urls.append(l)
downPage(l)
但是有一個問題,當鏈接太多,網址會非常大,而且效率的代碼if l not in urls
是低的。如何解決問題?避免重複下載URL的最佳方法是不佔用太多內存並提高效率?
make'urls' a'set':https://docs.python.org/2/library/sets.html – 2014-11-06 04:02:23
看看Scrapy可能是值得的:http://scrapy.org/它可以無需多次下載相同頁面即可進行爬網,多線程以及大量其他內容。 – 2014-11-06 04:12:13
謝謝:-) @AlexWoolford – socket 2014-11-07 06:28:43