1. 什么是文心一言?
百度文心一言是一款简洁美观的句子分类展示工具,使用文心一言可以方便地获取各种类型的名人名言,诗词句子,从而为文章、博客等提供各种优美的句子,以优化文章的文采。
2. PHP开发实现方式
2.1. 获取百度文心一言 API
百度文心一言基于百度搜索的名人名言、诗词句子数据库,提供了简单易用的API,我们可以在PHP中使用curl来访问这个API进行数据的获取。
获取API的方式为:访问https://www.baidu.com/s?wd=文心一言,并在开发者模式下查找"query"参数,可以得到API的请求URL。
$url = "https://www.baidu.com/s?wd=文心一言&tn=json";
需要注意的是,由于百度的限制,我们需要为curl添加Referer和User-Agent头部信息。
$headers = array('Referer: https://www.baidu.com/',
'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36');
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$data = curl_exec($ch);
$json = json_decode($data, true);
curl_close($ch);
2.2. 解析百度文心一言数据
由于百度文心一言API返回的数据是一个网页,我们需要使用正则表达式或其他方法来解析其中的数据。
我们需要将以下代码加入我们的PHP文件中,用于解析出百度文心一言分类列表以及分类对应的句子:
$pattern = '/
([\s\S]*?)<\/p>[\s\S]*?[\s\S]*?<\/ul>/';
preg_match_all($pattern, $data, $matches);
$categories = $matches[1];