這篇文章主要介紹python中怎么用JS加載加快爬蟲獲取,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
python的requests庫只能爬取靜態(tài)頁面,爬取不了動態(tài)加載的頁面。使用JS加載數(shù)據(jù)方式,能提高爬蟲門檻。
爬蟲方法:
抓包獲取數(shù)據(jù)url
通過抓包方式可以獲取數(shù)據(jù)的請求url,再通過分析和更改url參數(shù)來進行數(shù)據(jù)的抓取。
示例:
1.看 https://image.baidu.com這部分的包??梢钥吹剑@部分包里面,search下面的那個 url和我們訪問的地址完全是一樣的,但是它的response卻包含了js代碼。
2.當在動物圖片首頁往下滑動頁面,想看到更多的時候,更多的包出現(xiàn)了。從圖片可以看到,下滑頁面后得到的是一連串json數(shù)據(jù)。在data里面,可以看到thumbURL等字樣。它的值是一個url。這個就是圖片的鏈接。
3. 打開一個瀏覽器頁面,訪問thumbURL=/tupian/20230522/error.html 根據(jù)前面的分析,就可以知道,用瀏覽器訪問這個鏈接確定他是公開的。
5. 最后就可以尋找URL的規(guī)律,對URL進行構(gòu)造便可獲取所有照片。
使用selenium
通過使用selenium來實現(xiàn)模擬用戶操作瀏覽器,然后結(jié)合BeautifulSoup等包來解析網(wǎng)頁通過這種方法獲取數(shù)據(jù),簡單,也比較直觀,缺點是速度比較慢。
以上是“python中怎么用JS加載加快爬蟲獲取”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關知識,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道!