python假死
❶ Python中tkinter的窗口,在mainloop ()之後的語句怎麼執行
mainloop () 你可以把它看做是 while True:
只是循環內的代碼tkinter已經給你寫好了,這些代碼主要是檢測窗口相應的各種事件,比如滑鼠移動、點擊、輸入、按鍵操作等等。
所以你寫在mainloop()後面的代碼是不會被執行的。
如果是界面載入完成,要計劃執行一些語句,就需要用到多線程,在mainloop()之前開啟線程。
tkinter.Tk,也有一個after方法可以實現類似多線程的處理,不過效果要差一些,如意出現程序假死,也就是程序未響應,但實際程序在運行
❷ 為什麼都說爬蟲PYTHON好
選擇Python作為實現爬蟲的語言,其主要考慮因素在於:
(1) 抓取網頁本身的介面
相比其他動態腳本語言(如Perl、Shell),Python的urllib2包提供了較為完整的訪問網頁文檔的API;相比與其他靜態編程語言(如Java、C#、C++),Python抓取網頁文檔的介面更簡潔。
此外,抓取網頁有時候需要模擬瀏覽器的行為,很多網站對於生硬的爬蟲抓取都是封殺的。這時我們需要模擬User Agent的行為構造合適的請求,譬如模擬用戶登錄、模擬Session/Cookie的存儲和設置。在Python里都有非常優秀的第三方包幫你搞定,如Requests或Mechanize。
(2) 網頁抓取後的處理
抓取的網頁通常需要處理,比如過濾Html標簽,提取文本等。Python的Beautiful Soup提供了簡潔的文檔處理功能,能用極短的代碼完成大部分文檔的處理。
其實以上功能很多語言和工具都能做,但是用Python能夠幹得最快、最干凈,正如這句「Life is short,you need Python」。
(3) 開發效率高
因為爬蟲的具體代碼根據網站不同而修改的,而Python這種靈活的腳本語言特別適合這種任務。
(4) 上手快
網路上Python的教學資源很多,便於大家學習,出現問題也很容易找到相關資料。另外,Python還有強大的成熟爬蟲框架的支持,比如Scrapy。
❸ Python 寫的爬蟲爬久了就假死怎麼回事
有可能你頻繁的爬取同一個網站的數據,這個網站把你的ip暫時或者永久的加入了黑名單,一段時間內或者永久限制你的訪問。網站可能有最大訪問頻率的限制,根據這個時間來設置時延可以解決這個問題。或者可能由於網路不穩定等原因。至於其他的問題就不清楚了。