Python抓取爐石傳說卡牌,做一個女神的拼圖游戲

爐石傳說原畫1

爐石傳說原畫2

本打算使用Selenium模擬點(diǎn)擊獲取圖片信息?

嘗試發(fā)現(xiàn)源碼中 該按鈕并無相應(yīng)的跳轉(zhuǎn)鏈接

這不應(yīng)該啊 沒有相應(yīng)的跳轉(zhuǎn)鏈接 點(diǎn)擊后是如何加載新的圖片?

后來瀏覽整體網(wǎng)站源碼后 發(fā)現(xiàn)把問題想復(fù)雜 根本不需要模擬點(diǎn)擊查看更多

網(wǎng)站其實已經(jīng)加載了所有的卡牌原畫 只是之后的原畫做了隱藏處理默認(rèn)不展示 ?style=display

點(diǎn)擊查看更多后 顯示原畫

那么只需使用requests獲取網(wǎng)頁源碼

用BeautiSoup/正則表達(dá)式/pyQuery解析元素 遍歷相應(yīng)img的url 即可下載

Github

教訓(xùn):爬蟲前 不要根據(jù)網(wǎng)頁所對的操作實施相應(yīng)的代碼爬取 不要有這樣的思維定式 首先要做的是先大體瀏覽分析整個網(wǎng)頁的源代碼 ?有的可能直接寫在源碼或json或js中 無需再加工

關(guān)于怎么快速學(xué)Python,可以加下小編的Python學(xué)習(xí)qun:699+749+852,不管你是小白還是大牛,小編我都?xì)g迎,不定期分享干貨,歡迎初學(xué)和進(jìn)階中的小伙伴。每天晚上20:00都會開直播給大家分享Python知識和路線方法,qun里會不定期更新最新的教程

爐石傳說卡牌鏈接

爐石傳說卡牌

該網(wǎng)站通過下拉右邊的滾動條不斷加載新的卡牌

與上一個網(wǎng)站不同 ?上一個網(wǎng)站一次性寫入了所有卡牌 只不過做了隱藏處理

該網(wǎng)站是通過js動態(tài)加載渲染出的卡牌 直接獲取源碼 無法得到所有卡牌信息

那么就用selenium模擬下拉滾動條(selenium簡直居家必備之神器)

使用selenium執(zhí)行js腳本 每次執(zhí)行下拉1000個單位滾動條 執(zhí)行90次

為什么是90次 測試出來的 大概90次拉到底

注意:這里要增加1~3秒的暫停時間 用于網(wǎng)頁渲染

第一次沒有設(shè)置停留時間 無法獲取新的數(shù)據(jù) ?懷疑自己 懷疑人生

經(jīng)前端/后端好友L君的提示 需增加暫停時間 這樣才能獲得加載渲染后的數(shù)據(jù)

browser.page_source便可獲得動態(tài)加載的所有數(shù)據(jù)

有了數(shù)據(jù) 之后就很簡單 正則匹配獲取相應(yīng)url下載即可

Github

最后獲得了800張原畫 1324張卡牌

既然獲得了這么多卡牌和原畫 不能浪費(fèi) 利用起來 拼圖!

致敬下玩了好幾年的爐石

謝謝你!

順手拼一下女神

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 爐石傳說原畫鏈接 該網(wǎng)站通過點(diǎn)擊查看更多加載新的內(nèi)容 本打算使用Selenium模擬點(diǎn)擊獲取圖片信息 嘗試發(fā)現(xiàn)源碼...
    丨像我這樣的人丨閱讀 3,232評論 2 12
  • Selenium是一款強(qiáng)大的基于瀏覽器的開源自動化測試工具,最初由 Jason Huggins 于 2004 年在...
    FifiZhuang閱讀 7,879評論 5 71
  • 在寫這篇文章之前,我想過很多很多,也見過很多這樣的事。像這種小事,大家應(yīng)該也有經(jīng)歷吧,不少人都會不認(rèn)同我的...
    蘋果姐_1c3e閱讀 420評論 0 1
  • 感賞:自己越來越愛喜歡讀阿拉丁電子實體書! 感賞:越來越愛自己,越來越喜歡自己,愛自己!愛的死心塌地!至死不渝!不...
    櫻木蘭閱讀 198評論 0 1
  • 女生愛做夢,愛幻想,比如我 那天,月光下,你牽著我的手,我卻感慨到:我覺得現(xiàn)在在做夢。這種美好的場景,以前只是出現(xiàn)...
    小倩的不二青春閱讀 249評論 1 2

友情鏈接更多精彩內(nèi)容