|
发表于 2023-11-23 00:58:58
|
显示全部楼层
好的,请参考以下代码:
- <?php
- function getBaiduBaike($keyword) {
- $url = "https://baike.baidu.com/item/" . urlencode($keyword);
-
- // 使用curl发送请求
- $curl = curl_init();
- curl_setopt($curl, CURLOPT_URL, $url);
- curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
- $result = curl_exec($curl);
- curl_close($curl);
-
- // 解析html,提取所需内容
- $dom = new DOMDocument();
- @$dom->loadHTML($result);
-
- $data = array();
-
- // 获取标题
- $titleNode = $dom->getElementById("J-lemma-title");
- if ($titleNode) {
- $data['title'] = $titleNode->textContent;
- } else {
- $data['title'] = "未找到相关百科";
- }
-
- // 获取简介内容
- $summaryNode = $dom->getElementById("J-summary");
- if ($summaryNode) {
- $data['summary'] = $summaryNode->textContent;
- } else {
- $data['summary'] = "";
- }
-
- return $data;
- }
- // 测试代码
- $keyword = "人工智能";
- $result = getBaiduBaike($keyword);
- echo "标题:" . $result['title'] . "<br>";
- echo "简介:" . $result['summary'];
- ?>
复制代码
在上述代码中,我们定义了一个函数`getBaiduBaike()`来获取百度百科的内容。该函数接受一个关键词作为参数,并将相应百科页面的标题和简介返回。
测试代码部分,我们传入了关键词“人工智能”,然后输出了返回结果中的标题和简介。
请注意,由于百度百科页面的结构可能会发生变化,所以代码中通过元素的id来获取内容。如果百度百科页面发生了结构变化,那么需要对代码进行相应的修改以适应新的页面结构。azszZ |
|