php通過Xpath獲取CSDN的Dom元素
Xpath的Dom分析真的比自己寫正則去匹配Dom要高效很多,而要使用php的XpathDom,這裡我使用的是Wamp,要開啟php配置的extensions的openSSL,否則在獲取網頁的Dom時會報錯,然後我們所需的某個元素的Xpath可以通過瀏覽器,例如谷歌瀏覽器和火狐瀏覽器按F12調出網頁的element控制檯,(這裡學過前端的都會的),然後右鍵自己想要獲得的元素,Copy Xpath複製這個元素的Xpath
現在我們已經獲取了元素的Xpath了,示例我們獲取的Xpath為:
//*[@id='mainBox']/main/div[2]/div[2]/h4/a
這裡我們是要獲取一個列表,所以改為//*[@id='mainBox']/main/div[2]/div/h4/a
<?php for($j=1 ;$j<=2;$j++){ $content= file_get_contents('https://blog.csdn.net/SIRENloazhang/article/list/'.$j.'?'); $document = new DOMDocument(); $document->strictErrorChecking = false; /* $tidy = new tidy; $content = $tidy->repairString($content); $content = mb_convert_encoding($content, 'UTF-8'); *//*這裡就不用Tidy了*/ @$document->loadhtml($content); /*@是一定要給的*/ $xpath = new DOMXPAth($document); $num = 0; $elements= $xpath->query("//*[@id='mainBox']/main/div[2]/div/h4/a"); if($elements->length!=0){ for ($i = 0; $i < $elements->length; $i++) { $element = $elements->item($i); $url = $element->getAttribute('href'); print_r($url.'<br/>'); $num++; } }else{ echo "讀取完畢!!!"; } } ?>
執行結果:
相關推薦
php通過Xpath獲取CSDN的Dom元素
Xpath的Dom分析真的比自己寫正則去匹配Dom要高效很多,而要使用php的XpathDom,這裡我使用的是Wamp,要開啟php配置的extensions的openSSL,否則在獲取網頁的Dom時會報錯,然後我們所需的某個元素的Xpath可以通過瀏覽器,例如谷歌瀏覽器和火
【RF庫XML測試】通過xpath查找元素的說明
current 允許 -1 匹配 元素 如果 jython image ren Tag names:當僅使用1個tag的時候,xpath匹配具有該標簽名稱的所有直接子元素。 Paths:通過/符號連接tag名稱,例如second/child將匹配父元素second下所有的
PHP通過URL獲取文件大小
files fsockopen func get class eof parse file pty function getFileSize($url){ $url = parse_url($url); if($fp = @fsoc
php 通過curl獲取遠程數據,返回的是一個數組型的字符串,高手幫忙如何將這個數組類型的字符串變成數組。
bsp 選項 con 獲取 pan 如果 clas exe transfer 如 Array([0] => Array([0] => Array([kd_status] => 已簽收[kd_time] => 2014-04-30 18:59:43 [
Python通過xpath查找元素通過selenium讀取元素信息
class bdr 查找 blog 信息 style body type from #coding:utf-8 from selenium import webdriver import time url =‘http://www.baidu.com‘ driver =
原生態php通過dom獲取div/table裡面的內容,不用正則!
原生態php獲取網頁標籤裡面的內容,不用外掛!不用正則,直接一把摳出來! error_reporting(E_ALL); $out=_getUrl('http://www.gdczepb.gov.
PHP通過curl獲取介面URL的資料
<?php $weather = curl_init(); curl_setopt($weather,CURLOPT_URL,"https://api.pc2801.
PHP 通過ip獲取國家及地址方法集合
一、通過http請求淘寶和新浪的介面進行線上查詢 優點:呼叫簡單方便程式碼量少 缺點:在無網路的情況下無法查詢。 print_r(get_area('223.67.235.28')); function get_area($ip = ''){ if($ip =
JavaScript中通過id獲取標籤元素的值和獲取文字框的值
form表單中有下面的程式碼: <form method="post" id="" action=""> <input type="text" id="username" name="username" /> <br>
php通過$_SERVER獲取當前頁面完整URL地址
使用PHP編寫程式的時候,我們常常想要獲取當前頁面的URL。下面提供一個用於獲取當前頁面URL的函式以及使用方法:示例一: <?php // 說明:獲取完整URL function curPageURL() { $pageURL = 'http';
PHP通過API獲取手機號碼歸屬地
該API介面自 2011年 SAE平臺上線穩定執行至今,增加了17號段的支援,歡迎各種採集注限制 ,併發10 詳細使用說明 介面地址:http://appyun.sinaapp.com/index.php?app=mobile&controller=index
python3 xpath獲取同級元素的各種方法
XPath軸(XPath Axes)可定義某個相對於當前節點的節點集: 1、child 選取當前節點的所有子元素 2、parent 選取當前節點的父節點 3、descendant 選取當前節點的所有後代元素(子、孫等) 4、ancestor 選取當前節點的所有先輩(父、祖父等
beautifulsoup通過id獲取指定元素內容
<tr style="background-color:#fff;"> <td colspan="2" align=left valign="top"> <table id="zoom2" width="94%" bor
PHP通過內置函數memory_get_usage()獲取內存使用情況
sage 實例 linux 十分 get sts nbsp cti mic PHP內置函數memory_get_usage()能返回當前分配給PHP腳本的內存量,單位是字節(byte)。在WEB實際開發中,這些函數非常有用,我們可以使用它來調試PHP代碼性能。 memory
通過request獲取網頁資訊 通過BeautifulSoup剖析網頁元素
獲取網頁 alink his odi res req 特定 bsp css屬性 import requests newsUrl =‘http://news.sina.com.cn/china/‘ res = requests.get(newsUrl) res.encod
PHP 通過設置表單元素name屬性生成數組
log 判斷 存儲 move 括號 是否 res 查詢 數據表 <form method="post" action="<?php $_SERVER[‘PHP_SELF‘]; ?>"> //使用自引用表單,$_SERVER[‘PHP_SELF‘]變
python--通過xpath相對節點位置查找元素(續)
xpath相對節點 元素查找 相對節點位置查找方法 父節點 兄弟節點 之前寫過相對父元素及下一個兄弟元素的方法。 這次補充一下xpath相對節點位置查找元素的所有方法。例子就不舉了,自己可以去練練。 xpath相對節點查找方法: 1、xpath(‘./ancestor::*‘)查找當前節點
前端——通過父元素獲取同級元素的name屬性
今天在寫專案的時候需要將一個<img>的name值傳送給controller,相應的htmll程式碼如下: <div class="seller_good"> <a href="#"><img class="shoe_img" id="shoe_img
通過getElementsByClassName獲取元素集合的相容性問題解決方案
通過getElementsByClassName獲取元素集合的相容性問題解決方案 方案一:使用方案一後,通過document.getElementsByClassName()函式來獲取類名對應的元素集合 if(!document.getElementsByClassName){ //
PHP--通過公眾號獲取使用者微信資訊
<?php namespace My\Controller; //use Common\Controller\HomeCommonController; use Think\Controller; /* * To change this license hea