【國內(nèi)使用ChatGPT】編寫爬蟲代碼

? ? 讓ChatGPT幫你編寫代碼,重在提問技巧。
? ? 要如何引導(dǎo)ChatGPT寫出爬蟲代碼呢?咪老師這就來告訴你。
? ? 先來一個簡單的任務(wù),讓ChatGPT爬取百度圖片。



? ? ChatGPT給出了完整的代碼,并逐步進(jìn)行了講解。甚至還設(shè)置好了爬取頁數(shù)的參數(shù)end_page,供我們靈活使用。
? ? 將ChatGPT給出的代碼復(fù)制粘貼到VS Code中。

? ? 運行后,前3頁的圖片就被保存到本地名為“可頌貓”的文件夾里了。

? ? 接下來,我們讓任務(wù)復(fù)雜一點。讓ChatGPT爬取圖片的同時,將對應(yīng)的文本描述也一并爬取下來。
? ? 如今,多模態(tài)模型的應(yīng)用越來越廣泛。很多情況下,我們都需要獲取這種既包含圖片,又包含文字的多模態(tài)數(shù)據(jù)。

? ? 我們依然將ChatGPT給出的代碼復(fù)制粘貼到VS Code里運行。但這次,本地的“可頌貓”文件夾居然是空的,沒有爬取到我們想要的數(shù)據(jù)。
? ? 難道是ChatGPT不好用了嗎?

? ? 當(dāng)然不是!
? ? ChatGPT之所以沒有爬取到內(nèi)容,大概率是沒有找到內(nèi)容所對應(yīng)的關(guān)鍵字。而我們要做的,就是幫它找到關(guān)鍵字。
? ? 首先,打開瀏覽器,在百度圖片里搜索“可頌貓”。然后單擊鼠標(biāo)右鍵,選擇“檢查”,打開開發(fā)者工具。

? ? 再選擇“網(wǎng)絡(luò)”中的“Fetch/XHR”。按Ctrl+R刷新頁面,重新發(fā)生請求。
? ? 此時左側(cè)的“名稱”欄中,出現(xiàn)了響應(yīng)。
? ? 然后點擊“acjson?”一欄。在“預(yù)覽”中可以看到,所有的數(shù)據(jù)都存放在“data”關(guān)鍵字下。

? ? 點開“data”。
? ? 然后任意點開其中一個數(shù)據(jù),圖片對應(yīng)的文本描述就存放在“fromPageTitle”屬性里。

? ? 而圖片則以鏈接的形式,存放在“hoverURL”屬性里。

? ? 所以爬蟲代碼需要的關(guān)鍵字就是“fromPageTitle”和“hoverURL”。
? ? 接下來,我們就將這兩個關(guān)鍵字提示給ChatGPT,這樣就可以得到準(zhǔn)確的代碼了。




? ? 我們還是將ChatGPT給出的代碼復(fù)制粘貼到VS Code里運行。
????這次,下載成功啦!

? ? 下載好的圖片都以對應(yīng)的文本描述進(jìn)行了命名,存放在本地的“可頌貓”文件夾里。這種巧妙的設(shè)置非常便于我們后續(xù)構(gòu)建多模態(tài)數(shù)據(jù)集。

? ? 看到這里,或許有同學(xué)想問:“如果我只想躺贏,懶得再引導(dǎo)ChatGPT。該如何讓它一次性地成功實現(xiàn)呢?”
? ? 這種情況,我們就可以讓ChatGPT把剛才成功的代碼總結(jié)成一句命令。之后再碰到類似的問題,就可以直接套用這句命令模板,讓ChatGPT幫我們完成任務(wù)。

有問題的朋友,歡迎在評論區(qū)留言或私信我~
更多內(nèi)容,歡迎觀看編程八點檔!
ChatGPT3.5教程 ??【ChatGPT教程】
Python爬蟲教程? ??【爬蟲教程】