前幾天在抓博客園文章,打算每天抓10條最新的,所以就在腳本中加了定時讓它在每天凌晨四點中時執行,但是昨天發現,報錯了:
顯示是遠程主機強制關閉了一個鏈接,
原因是:mysql數據庫默認當連續8小時不對數據庫進行I/O操作時,數據庫就會斷開連接,而我的腳本每天執行一次,當然就會報錯:
MySQL服務器默認的“wait_timeout”是28800秒即8小時,意味着如果一個連接的空閑時間超過8個小時,MySQL將自動斷開該連接,
而連接池卻認為該連接還是有效的(因為並未校驗連接的有效性),當應用申請使用該連接時,就會導致上面的報錯。
解決方案,在配置文件中將wait_timeout增大:
在[mysqld]下面加兩句:
wait_timeout=86400 (最大支持24天,即31536000)
interactive_timeout=86400
這兩句話是延遲數據庫等待時間和交互時間。
想了解更多Python關於爬蟲、數據分析的內容,歡迎大家關注我的微信公眾號:悟道Python