javascript - node爬取微博
問題描述
剛接觸node,想寫個爬蟲,爬取新浪微博評論,但是發現頁面是由JS動態生成的,用http模塊爬取不到,然后用phantomjs爬取,(聽說會比較慢,運行了近15分鐘,這也太慢了,不知是否寫錯),還是不行,問一下有什么辦法能夠爬取類似于新浪微博的網頁嗎?
let page=require('webpage').create();let url='http://weibo.com/1713926427/Etq2WnSiR?filter=hot&root_comment_id=0&type=comment';/*page.settings = { javascriptEnabled: true, loadImages: false, webSecurityEnabled: false, userAgent: ’Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.137 Safari/537.36 LBBROWSER’};*/page.open(url,(status)=>{ console.log('Status:'+status); if(status=='success'){let val = page.evaluate(()=>{ var list_box=document.querySelector('.list_box'); console.log(list_box); return list_box});console.log(val) }else{console.log('failed') } phantom.exit();});
問題解答
回答1:自己寫過微博的爬取,有兩種思路
仔細看一下應該是有接口去獲取相應數據的然后用正則去匹配
微博提供了開發者API接口的,雖然用著比較麻煩
相關文章:
1. javascript - 最近用echarts做統計圖時遇到兩個問題!!2. 淺談Vue使用Cascader級聯選擇器數據回顯中的坑3. android - 使用MTP連接的時候如何使自己的app加入選擇列表4. 利用IPMI遠程安裝centos報錯!5. angular.js - angular ng-focus ng-blur 存在問題6. 為什么redis中incr一個“0” 會報錯?7. celery+redis 怎么看redis里面的內容8. android - 使用百度sdk調用SDKInitializer.initialize(this)時報錯?9. android - TextInputLayout的空白顯示問題10. android - 優酷的安卓及蘋果app還在使用flash技術嗎?

網公網安備