「这是我参与2022首次更文挑战的第18天,活动详情查看:2022首次更文挑战」
课程背景
- 我作为一个PHP工程师 虽然这几年PHP没落了
- 但我还是有责任补充一些PHP方面的高级教程
- 掘金粑粑开始更文奖励了 不能白白拿人家的奖励
应该发表一些高层次的PHP的技术文章别让PHP倒了
正文开始
我们继续上一节中 Xpath语法的讲解
//div 代表选择当前页面上所有的 div
//div[@class='news-list-box'] 代表匹配当前页面下,类名为news-list-box的素有div
此时可以发现每一个item都有黄色的高亮。代表我们选择了当前的元素
5 继续定位
//div[@class='news-list-box']/div[@class='news-list-box-right']/a/img/@src
/div[@class='news-list-box-right']/ 代表上个div下面的 类名为 news-list-box-right div
/a/img/@src 代表a标签下面的 img 下面的 src属性的值
通过上面的匹配会发现,我们取出了当前页面所有的图片的src
6 根据匹配出的数据,在php中提取数据
$body = (string)$response->getBody();
$dom = new DOMDocument();
@$dom->loadHTML($body);
$xpath = new DOMXPath($dom);
//提取图片
$data = $xpath->query("//div[@class='news-list-box']/div[@class='news-list-box-right']/a/img/@src");
现在的数据传递都是json形式的,在json之前其实所有的数据都是通过 xml。可能接触过一些银联,或者海关的那些接口的项目会发现,他们用的仍然是Xml。php提供对于xml文件的一些列操作的底层。只是现在用的非常少了,也是比较难用的。这里我们是通过 DOMDocument将 html内容解析为Xml的 dom树结构,然后用提供的api对xml中的数据进行查询,遍历等等的操作。这里的网上的教程很少了,需要去看php的手册。