php使用xpath爬网页数据
dio 2021-07-10 php
# 谷歌浏览器安装插件
XPath Helper
使用方法按住shift 就可以获取想要的数据,对于要做处理的可以使用代码再做相应处理
# demo
<?php
$html = file_get_contents('对应网址');
$dom = new DOMDocument();
// 从一个字符串加载HTML
@$dom->loadHTML($html);
// 使该HTML规范化
$dom->normalize();
// 用DOMXpath加载DOM,用于查询
$xpath = new DOMXPath($dom);
// 获取对应的xpath数据
$hrefs = $xpath->query("/html/body/div[@id='main']/div[@class='content autoheight first last']/table[@class='svcatable']/tbody/tr[*]/td[1]");
$mp4 = $xpath->query("/html/body/div[@id='main']/div[@class='content autoheight first last']/table[@class='svcatable']/tbody/tr[*]/td[6]/a[2]/@href");
$data = [];
for ($i = 0; $i < $hrefs->length; $i++) {
$m = $mp4->item($i);
$src = $m->nodeValue;
if(strpos($src,'.mp4') !== false){
$href = $hrefs->item($i);
$name = $href->nodeValue;
$src = explode('/', $src);
$index = $src[2];
$name = explode('-', $index)[0].'-'.$name.'.mp4';
$data[$index]=$name;
}
}
// print_r(count($data));
echo json_encode($data,512);
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
← php使用kafka php多进程编程 →