正在加載數據...
當前位置:北方企業新聞網> 商訊>正文內容
  • AI 幫寫爬蟲,真的嗎? CodeWhisperer:當然!
  • 2023年10月18日 來源:北方企業新聞網

提要:2023 年技術圈什么最火?答案毫無疑問是 AIGC,伴隨該項技術的發展,新的編程方式也出現了,那就是用 AI 輔助編程,有了 AI 的加持,開發人員的效率和生產力可以得到大幅度的提升。

2023 年技術圈什么最火?答案毫無疑問是 AIGC,伴隨該項技術的發展,新的編程方式也出現了,那就是用 AI 輔助編程,有了 AI 的加持,開發人員的效率和生產力可以得到大幅度的提升。今天我們就介紹一款非常棒的人工智能編程工具 Amazon CodeWhisperer , 相信我,用上他之后,你的工作效率至少能翻一倍。

在日常的編碼工作中,你是否會碰到如下難題?

1. 接觸了一款全新的 Python 模塊,不知道如何開啟 hello world;

2. 模塊的某個方法,忘記了參數和返回值,反復切換手冊會打斷思路;

3. 不想寫注釋;

4. 寫了一段代碼,但是并不健壯,擔心有難以發現的漏洞;

5. ……

如果你正在被這些問題困擾,那 Amazon CodeWhisperer 能非常好的解決上述問題。

下面跟隨我的腳步,開啟 CodeWhisperer 的實踐吧!

CodeWhisperer 初始化

CodeWhisperer 支持的 IDE 包括 Visual Studio(VS)Code(本篇博客使用的 IDE) 和 JetBrains IDE(IntelliJ、PyCharm、CLion、GoLand、WebStorm、Rider、PhpStorm、RubyMine 和 DataGrip),安裝過程只需要幾分鐘,這里我們不詳細展開講解,大家可以參考 官方文檔 ,官方還貼心的準備的視頻教程~

本篇博客我們使用 VSCode 完成一個爬蟲項目實踐,可以直接在 VSCode 插件中檢索【CodeWhisperer】,直接安裝即可(已經有將近 200W 的安裝量啦,要抓緊跟上大家的節奏),安裝完畢,在 VSCode 側邊欄中會出現 CodeWhisperer 插件圖標,如下所示。

初始化過程中最重要的就是賬號的鏈接,點擊上圖【Connect to ……】鏈接,之后按照步驟登錄賬號,一系列的操作之后,瀏覽器出現下圖綠色狀態提示界面,此時賬號對接已經完成。

返回到 VSCode 中,會發現 Amazon CodeWhisperper 幫助手冊已經打開,建議閱讀一下 ,里面已經整理了插件的基礎使用說明。

與此同時,VSCode 左下角開發者工具(DEVELOPER TOOLS)也已經顯示鏈接到 Builder ID。至此,我們的前置工作已經全部完成,下面可以開始進行工具使用。

CodeWhisperper 使用

簡單邏輯示例

CodeWhisperer 插件安裝完畢,默認會開啟 Auto-Suggesions(自動建議模式),此時當我們在編寫注釋或代碼之后,CodeWhisperer 會自動給我們提供代碼提示,這個過程就像超強版的語法提示,如果你還沒有安裝好插件,可以先看一下動圖,整體感受一下。

CodeWhisperer 的代碼提示,在 VSCode 中可以使用左右方向鍵進行選擇,使用 Tab 進行確認,其他按鍵表示不采納提示代碼。初次體驗下來,正如插件名稱(Whisperer:低語者)所描述的一樣,就像是編輯器在輕輕的和我們說著即將要敲入的代碼,如果同意,可以一鍵采納,不同意,直接忽略即可。

代碼翻譯示例

擁有此功能之后,很多簡單的程序完全可以基于智能提示編寫完畢,但這肯定不夠,我們需要 CodeWhisperer 完成更有挑戰的事情,在 Python 爬蟲領域,經常需要將一段前端 JS 代碼用 Python 重新實現。

在 VSCode 中直接輸入你的需求,然后 CodeWhisperper 會給我們一個完整的實現示例,可以看到代碼重寫完全正確。

加密函數示例

除了翻譯代碼外,在編寫爬蟲案例的時候,如果你對某些加密函數使用詳情有遺忘,可以讓 CodeWhisperer 直接給出示例,快速喚醒自己的記憶。

下圖為輸入注釋 # 使用 Python 實現 hmac_sha256 加密函數 獲取函數的使用示例代碼。

如果在使用 CodeWhisperer 的過程中按錯按鍵,即沒有使用 Tab 確認代碼,可以隨時按下快捷鍵 Alt+C,CodeWhisperer 代碼提示會再次出現,又可以繼續加速你的開發效率了。

混合加密示例

如果將上述邏輯都定義為單邏輯,那下述需求就是一個復合邏輯示例了,在實際編碼中,會碰到需要將兩種加密混合使用的情況,需求如下:

# 使用 Python 實現 Base64 + AES 加密字符串

在 IDE 中輸入上述注釋信息,然后回車,CodeWhisperer 就會自動生成后續代碼,其中部分邏輯可以一次性完成,效果如下,其中在核心邏輯部分,CodeWhisperer 表現非常優秀,答案秒輸出,并且直接可用。

算法模板示例

在業務邏輯的編寫過程中,有時會用到常見算法,例如快排、堆排、哈希等,這些算法很多都類似模板代碼,在編寫的時候,如果可以一鍵生成,能大幅度提高代碼編寫速度,包括算法改寫速度,在 CodeWhisperer 中,可以通過注釋快速生成。

使用 Python 生成快排代碼

體驗 5個示例之后,CodeWhisperer 的使用非常簡單,而且無需切換編輯窗口,在 IDE 的代碼文件中直接完成了 AIGC 的問答流程,響應速度非常快,代碼準確性很高。

單獨的案例對 CodeWhisperer 已經沒有難度了,接下來我們嘗試完成一個完整的 Python 爬蟲案例(咱們看一下只寫注釋,能不能完成一個合格的爬蟲采集程序)。

CodeWhisperer 項目實戰

目標采集站點為作者博客,無侵權問題。

編寫爬蟲基礎框架注釋,包含如下內容:

1. 程序使用的采集模塊

2. 目標采集站點地址

3. 采集的目標標簽

4. 數據存儲到文件

5. 發送采集到的數據到指定郵箱

第一步:輸入如下注釋,獲取網頁響應內容

#

寫完注釋,直接回車之后,CodeWhisperer 直接給我們生成了對應的代碼,過程中只需要按下 回車和 Tab 鍵即可。

如果你覺得上述代碼有些簡單,可以在代碼基礎上繼續完善,例如將請求頭進行完善,增加 referer 和 host 參數,直接在需要修改的位置添加注釋即可。

第二步:編寫目標數據采集函數

這一步,我們要使用 lxml 模塊中的 etree 提取目標標簽,繼續將我們的邏輯輸入到注釋注釋中,然后回車。

# 使用 etree 模塊提取網頁響應中所有的 article 標簽

# 使用 etree 模塊提取網頁響應中所有的 article 標簽

print(article_tags)

此時目標博客標簽已經被初步提取,下面要將標題和超鏈接地址進行再次提取,這里的注釋需要盡可能編寫清晰,如果你對 Python 爬蟲技術棧有一定了解,到這里就會發現 CodeWhisperer 對代碼編寫提速效果。

第三步:數據存入到 csv 文件中

寫入文件的邏輯屬于常見操作,直接輸入函數需求,相信 CodeWhisperer 會直接生成的,輸入的參考注釋如下:

write_to_csv() 函數調用放到上述循環中即可完成本步驟。再次運行代碼,在爬蟲目錄會生成對應的文件,打開文件得到目標數據,效果圖如下所示。

到這里一個簡單的爬蟲寫完了,但是我們的工作還沒有完成,要繼續優化這個程序。

第四步:將采集到的數據,發送到 163 郵箱

輸入注釋:# 編寫一個郵件發送函數,將剛剛生成的文件 codewhisperper_demo.csv 發送到指定郵箱,CodeWhisperer 瞬間就會幫助我們生成一個參考函數,實際效果如下圖所示。

將上述代碼中的賬號和密碼修改為自己真實數據,即可實現一鍵發送郵件。

打開收件箱,可以看到剛剛的郵件已經發送成功,CodeWhisperer 給我們提供了一種郵件發送的實現,你可以再其基礎上進行改造,以滿足個性化的需求。

CodeWhisperer 使用總結

在博客開篇,我提出了編碼過程中幾個比較頭疼的問題,尤其是第二個,程序員在編碼過程中總是切出去查找代碼示例和文檔手冊,從而打斷編碼思路,而 CodeWhisperer 非常完美的解決了該問題,在編碼的過程中,Amazon CodeWhisperer 自動提供編碼建議,同意就使用,不同意就舍棄,真正實現了沉浸式編程。

除此之外,CodeWhisperer 還可以基于代碼和注釋生成新的業務代碼,尤其當我們 Python 工程師接觸一個新的模塊時,他可以快速的產出示例代碼,而且生成的代碼與我們編碼風格非常相似,甚至編碼風格和命名規則都可以完美學習到。在編碼代碼過程中,CodeWhisperer 還會自動為我們的代碼提供注釋參考,讓我們將更多精力投入到業務邏輯中。

將 CodeWhisperer 用起來吧,幾分鐘之后,你就會深刻的感受到編碼效率的提升!





責任編輯:周峰菊
相關新聞
    沒有關鍵字相關信息!
新聞排行
亚洲人成电影网站国产精品| 国产亚洲美女精品久久久久狼| 国产三级精品在线观看| 国产精品无码久久久久久久久久| 精品丝袜人妻久久久久久| 国产精品久久精品视| 四虎精品影库4HUTV四虎| 久久久久九九精品影院| 一本久久a久久精品vr综合| 国产成人无码精品一区二区三区 | 国产精品夜间视频香蕉| 亚洲国产成人久久精品大牛影视| 精品视频国产狼人视频| 日韩人妻无码精品无码中文字幕 | www国产亚洲精品久久久日本 | 黑人无码精品又粗又大又长 | 精品乱码久久久久久久| 亚洲AV永久无码精品一福利| 国产精品剧情原创麻豆国产| 亚洲精品和日本精品| 国内精品在线视频| 在线观看精品视频看看播放| 无码人妻精品一区二区三区久久久| 国产精品综合一区二区| 老司机精品视频在线观看| 久久99精品久久久久久综合 | 国产精品美女视视频专区| 亚洲国产精品一区二区九九| 国产亚洲美女精品久久久久狼| 精品性影院一区二区三区内射| 一本久久精品一区二区| 一本一道久久a久久精品综合| 综合在线视频精品专区| 91精品国产综合久久青草| 青青青亚洲精品国产| 久久久久亚洲精品中文字幕| 日韩精品乱码AV一区二区| 内射精品无码中文字幕| 国产精品国产三级国产潘金莲 | 色妞www精品视频免费看| 亚洲日韩国产精品第一页一区|