我寫了一個使用python的刮板,而且它在命令行中工作正常。我現在爲應用程序製作了一個GUI,但是我遇到了一個問題。當我嘗試更新gui內部的文本時(例如'抓取URL 12/50'),我無法看到刮板內的功能抓取了100多個鏈接。另外,當從一個抓取函數,到一個應該更新gui的函數,到另一個函數時,gui更新函數似乎在下一個scrape函數運行時被跳過。一個例子是:Python GUI刮板懸掛問題
scrapeLinksA() #takes 20 seconds
updateInfo("LinksA done")
scrapeLinksB() #takes another 20 seconds
在上面的例子中,updateInfo從不執行,除非我用KeyboardInterrupt結束程序。
我在想我的解決方案是線程化的,但我不確定。我能做些什麼來解決這個問題?
我使用:
- PyQt4的
- 的urllib2
- BeautifulSoup