电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術(shù)文章
文章詳情頁

使用PHP抓取微博數(shù)據(jù)實現(xiàn)demo及原理解析

瀏覽:9日期:2022-06-14 10:15:05
目錄實現(xiàn)目標使用的工具實現(xiàn)的原理實現(xiàn)目標

1. 用戶發(fā)布的微博內(nèi)容;

2. 用戶發(fā)布的時間;

3. 用戶的名稱; (這里我并沒有獲取)

使用的工具

voku/simple_html_dom x-path

讀取工具 (如果不知道怎么獲取元素的xpath, 請百度這里不做贅述~)

安裝:

composer require voku/simple_html_dom

實現(xiàn)的原理

當你去直接用file_get_contents去抓取微博的網(wǎng)頁內(nèi)容時, 你會被它的訪客系統(tǒng)直接攔截, 所以直接用這個方法是不行的;

所以我采用了curl來獲取. 當然,直接獲取也是不行的, 所以我們要設置一下請求頭, 微博對爬蟲類的請求頭是不會拒絕的,

所以你可以直接抓取到網(wǎng)頁;

請求頭設置如下:

'User-Agent: spider'

代碼如下:

// 通過這段代碼你可以直接獲取到微博的(HTML)網(wǎng)頁 public function curlGetWbData() {// 設置腳本超時時間set_time_limit(60);// 拉取微博地址$getWbUrl = 'https://weibo.com/p/1005056447467552/home?profile_ftype=1&is_all=1#_0';// 設置curl 請求頭$header = [ 'User-Agent: spider'];$ch = curl_init(); // 初始化curlcurl_setopt($ch, CURLOPT_URL, $getWbUrl);curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // 禁止 cURL 驗證對等證書curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);curl_setopt($ch, CURLOPT_HTTPHEADER, $header); // 設置請求頭$wbContent = curl_exec($ch);curl_close($ch);// 到這里我們就拿到了微博的網(wǎng)頁return $wbContent; }

拿到微博的網(wǎng)頁內(nèi)容之后, 我們就要對立面的數(shù)據(jù)進行提取, 因為并不是所有的數(shù)據(jù)我們都需要;

這里我們提取 微博內(nèi)容 微博發(fā)布的時間; 現(xiàn)在需要使用x-path來進行提取;

x-path示例:

div[class='WB_cardwrap WB_feed_type S_bg2 WB_feed_like ']

代碼如下:

// 這個方法是public static function actionAddWbData(string $wbContent, string $userID){ $htmlDeal = new HtmlDomParser(); // 處理DOM的對象 $htmlDeal->load($wbContent);// 裝載文本 // 微博VIP和普通用戶的class名不一致 $wbHtml['normal'] = $htmlDeal->find('div[class='WB_cardwrap WB_feed_type S_bg2 WB_feed_like ']'); $wbHtml['vip'] = $htmlDeal->find('div[class='WB_cardwrap WB_feed_type S_bg2 WB_feed_vipcover WB_feed_like ']'); $wbNum = []; foreach ($wbHtml as $item => $key) {if (count($key) <= 0) { continue;}$wbNum[$userID][$item] = self::dealWbContent($key, $userID); } Yii::info('抓取微博日志記錄' . '----' . json_encode($wbNum)); return $wbNum;}

以上就是使用PHP抓取微博數(shù)據(jù)實現(xiàn)demo及原理解析的詳細內(nèi)容,更多關于PHP抓取微博數(shù)據(jù)的資料請關注好吧啦網(wǎng)其它相關文章!

標簽: PHP
主站蜘蛛池模板: 上海橡胶接头_弹簧减震器_金属软接头厂家-上海淞江集团 | 一体化隔油提升设备-餐饮油水分离器-餐厨垃圾处理设备-隔油池-盐城金球环保产业发展有限公司 | 保温杯,儿童婴童奶瓶,运动水壶「广告礼品杯定制厂家」超朗保温杯壶 | LED灯杆屏_LED广告机_户外LED广告机_智慧灯杆_智慧路灯-太龙智显科技(深圳)有限公司 | 四探针电阻率测试仪-振实密度仪-粉末流动性测定仪-宁波瑞柯微智能 | 北京翻译公司_同传翻译_字幕翻译_合同翻译_英语陪同翻译_影视翻译_翻译盖章-译铭信息 | 真空干燥烘箱_鼓风干燥箱 _高低温恒温恒湿试验箱_光照二氧化碳恒温培养箱-上海航佩仪器 | 喷播机厂家_二手喷播机租赁_水泥浆洒布机-河南青山绿水机电设备有限公司 | 吉林污水处理公司,长春工业污水处理设备,净水设备-长春易洁环保科技有限公司 | BHK汞灯-百科|上海熙浩实业有限公司 | 澳门精准正版免费大全,2025新澳门全年免费,新澳天天开奖免费资料大全最新,新澳2025今晚开奖资料,新澳马今天最快最新图库 | 单级/双级旋片式真空泵厂家,2xz旋片真空泵-浙江台州求精真空泵有限公司 | 盘煤仪,盘料仪,盘点仪,堆料测量仪,便携式激光盘煤仪-中科航宇(北京)自动化工程技术有限公司 | 儿童乐园|游乐场|淘气堡招商加盟|室内儿童游乐园配套设备|生产厂家|开心哈乐儿童乐园 | 废水处理-废气处理-工业废水处理-工业废气处理工程-深圳丰绿环保废气处理公司 | 南京蜂窝纸箱_南京木托盘_南京纸托盘-南京博恒包装有限公司 | 【直乐】河北石家庄脊柱侧弯医院_治疗椎间盘突出哪家医院好_骨科脊柱外科专业医院_治疗抽动症/关节病骨伤权威医院|排行-直乐矫形中医医院 | 免费B2B信息推广发布平台 - 推发网 | 苏州西装定制-西服定制厂家-职业装定制厂家-尺品服饰西装定做公司 | 磁力去毛刺机_去毛刺磁力抛光机_磁力光饰机_磁力滚抛机_精密金属零件去毛刺机厂家-冠古科技 | 锌合金压铸-铝合金压铸厂-压铸模具-冷挤压-誉格精密压铸 | 长春网站建设,五合一网站设计制作,免费优化推广-长春网站建设 | 工程管道/塑料管材/pvc排水管/ppr给水管/pe双壁波纹管等品牌管材批发厂家-河南洁尔康建材 | 圆窗水平仪|伊莉莎冈特elesa+ganter | 广东恩亿梯电源有限公司【官网】_UPS不间断电源|EPS应急电源|模块化机房|电动汽车充电桩_UPS电源厂家(恩亿梯UPS电源,UPS不间断电源,不间断电源UPS) | 酒糟烘干机-豆渣烘干机-薯渣烘干机-糟渣烘干设备厂家-焦作市真节能环保设备科技有限公司 | 玻纤土工格栅_钢塑格栅_PP焊接_单双向塑料土工格栅_复合防裂布厂家_山东大庚工程材料科技有限公司 | 塑料异型材_PVC异型材_封边条生产厂家_PC灯罩_防撞扶手_医院扶手价格_东莞市怡美塑胶制品有限公司 | 轻型地埋电缆故障测试仪,频响法绕组变形测试仪,静荷式卧式拉力试验机-扬州苏电 | 超声波电磁流量计-液位计-孔板流量计-料位计-江苏信仪自动化仪表有限公司 | SMN-1/SMN-A ABB抽屉开关柜触头夹紧力检测仪-SMN-B/SMN-C-上海徐吉 | 防渗土工膜|污水处理防渗膜|垃圾填埋场防渗膜-泰安佳路通工程材料有限公司 | 无线对讲-无线对讲系统解决方案-重庆畅博通信 | 户外环保不锈钢垃圾桶_标识标牌制作_园林公园椅厂家_花箱定制-北京汇众环艺 | 盘古网络技术有限公司| 光谱仪_积分球_分布光度计_灯具检测生产厂家_杭州松朗光电【官网】 | 大行程影像测量仪-探针型影像测量仪-增强型影像测量仪|首丰百科 大通天成企业资质代办_承装修试电力设施许可证_增值电信业务经营许可证_无人机运营合格证_广播电视节目制作许可证 | 四川职高信息网-初高中、大专、职业技术学校招生信息网 | 驾驶式洗地机/扫地机_全自动洗地机_工业洗地机_荣事达工厂官网 | 抖音短视频运营_企业网站建设_网络推广_全网自媒体营销-东莞市凌天信息科技有限公司 | 驾驶式洗地机/扫地机_全自动洗地机_工业洗地机_荣事达工厂官网 |