2016-02-12 38 views
0

所以我最近一直在研究一個程序來檢查網站上用戶名的可用性,我已經完成了核心程序,但是當它搜索每個名稱時,它需要將近2秒的名稱。關於如何提高效率的任何想法?爲什麼Python中的UrlOpener花費時間返回

def urlTest(name): 

     opener = URLopener() #Open the URL Connection 
     opener.addheaders = [('User-agent', 'Mozilla/5.0')] 
     page = opener.open("https://exampleusernamechecker.com/s?"+str(name)) #Open the page 
     soup = BeautifulSoup(page) 

     ABC=soup.find_all("div",class_="alert-link") 

     if "Available" in str(ABC): 
      print("Success") 
      file = open("Freenames.txt","at") 
      file.write(""+str(name)+"\n") 
      file.close() 

     else: 
      print("Failure",ABC) 
     opener.close() 

回答

0

如果您爲每個名稱創建一個新連接,則預計會有2秒的延遲。

如果您想加快速度,創建並重新使用單個連接。

如果你想加快速度,一次讀多頁,你無法做任何關於延遲/延遲的事情,但你可以增加吞吐量/使用更多的帶寬。

+0

重複使用單個連接是不可能的,但如果我使用as方法進行搜索,因爲網站使用此「/ s?wordhere」來搜索用戶名,您可以指向一種可重用連接的方式每次都這樣做? – waudy

+0

在課堂上定義你的開門人並重用它? –

相關問題