由ChatGPT輔助編寫的爬蟲程序,能夠根據當前互聯網的科技部落格內容,分析當前技術的流行趨勢。
主要功能:
定義爬蟲程式的目標科技部落格網站,確定需要抓取的頁面以及需要提取的資訊。這些資訊可以包括文章標題、作者、發布日期、摘要、內容等。
使用OkHttp3框架啟動HTTP請求取得網頁的HTML程式碼。為了避免被網站封鎖,需要設定合適的User-Agent和延遲時間等參數。對於大量請求的情況,可以考慮使用代理IP等策略來防止被封。
使用Jsoup框架解析HTML程式碼,擷取所需的資訊。可以使用選擇器來定位需要的元素,使用API來取得元素的屬性和文字內容。要注意的是,有些網站可能會使用反爬蟲技術,例如設定驗證碼、動態產生頁面等,需要根據具體情況進行處理。
使用Mybatis Plus框架將資料儲存到資料庫。需要先定義資料表的結構和實體類,再使用框架提供的API進行資料的增刪改查等操作。為了避免重複存儲,可以考慮使用主鍵或唯一索引等機制進行資料的去重。
使用定時任務來週期性地執行爬蟲程序,以確保資料的及時更新。需要設定適當的執行頻率和時間,以避免過度頻繁的造訪目標網站,導致網站出現異常。
令人興奮的時刻來了,讓ChatGPT產生原始碼。我們給到AI的資訊包括:工程名稱ai-crawler,Java版本1.8,依賴:mybatis-plus-boot-starter、okhttp、hutool-all、jsoup, AI會產生什麼樣的程式碼呢?
嗯,中規中矩,知道根據okhttp和jsoup創建兩個工具類別。
接下來,再給它一點提示,告訴AI具體的資料模型,目前暫定為Blog,由AI來產生具體的增刪改查程式碼。
來看看他的表現:
還不錯,產生的Blog實體類,利用了MybatisPlus的註解@TableName;BlogService繼承自MybatisPlus的IService。 Spring的@Service註解也自覺用上了。
這程式碼不比Java初級工程師差了吧?
除了上面的基礎邏輯程式碼,再來看看配置類別和設定檔。
AI會取代程式設計師嗎?也許以後可以,現在應該還不行。我覺得AI更像是趁手的工具。