這篇文章主要介紹怎么用python爬蟲分析動(dòng)態(tài)網(wǎng)頁(yè)的商品信息,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!
成都創(chuàng)新互聯(lián)專注于企業(yè)網(wǎng)絡(luò)營(yíng)銷推廣、網(wǎng)站重做改版、化州網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5響應(yīng)式網(wǎng)站、商城網(wǎng)站建設(shè)、集團(tuán)公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁(yè)設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為化州等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。先安裝Puppeteer庫(kù),用到的也就只有這個(gè)庫(kù):
npm install puppeteer
鏈接網(wǎng)頁(yè)也非常簡(jiǎn)單,只需要幾行代碼:
const puppeteer = require('puppeteer') //啟動(dòng)瀏覽器 const browers = await puppeteer.launch() //啟動(dòng)新頁(yè)面 const page = await browers.newPage() //鏈接網(wǎng)址 await page.goto(url)
拿到了同類所有商品的標(biāo)簽信息,接下來(lái)開始分析信息。獲取里面所有商品的名稱,然后對(duì)照關(guān)鍵字是否存在,如果存在則將headless改為false彈出窗口提醒,如果不存在則在半小時(shí)后再次鏈接。Puppeteer提供了一個(gè)等待命令page.waitFor(),不僅可以按時(shí)間等待,也可以按某個(gè)元素的加載進(jìn)度進(jìn)行等待。
const goods = page.$$eval('#auctionRecommend > div.mc > ul > li', el => { //錯(cuò)誤和關(guān)鍵字不存在都會(huì)返回false try { for (let i = 0; i < el.length; i++) { let n = el[i].querySelector('div.p-name').textContent if(n.includes('妙控板')){ return true } else { return false } } } catch (error) { return false } }) if(!bool){ return console.log('網(wǎng)頁(yè)已打開,不再監(jiān)控') } //根據(jù)goods里面的回調(diào)函數(shù)返回ture或false來(lái)決定是否開啟瀏覽器界面 await goods.then(async (b) => { if(b){ console.log('有貨了!') await page.waitFor(2000) await browers.close() return requestUrl(false) } else { console.log('還沒貨') console.log('三十分鐘后再嘗試') await page.waitFor(1800000) await browers.close() return requestUrl(true) } })
以上是“怎么用python爬蟲分析動(dòng)態(tài)網(wǎng)頁(yè)的商品信息”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!