百度dict 采集样本
写的采集百度dict词典翻译后的所有结果数据,当然附带了13.5w单词库和采集简单的案例,这里我把写出的主要类dict.class.php放出来,项目地址http://github.com/widuu/baidu_dict,有需要的直接fork就可以了~么么哒,这东西用的人很少,所以有用的兄弟拿走了哈~
<?php /** * dict.class.php 采集百度词典翻译内容 * * @copyright (C) 2014 widuu * @license http://www.widuu.com * @lastmodify 2014-2-15 */ header("content-type:text/html;charset=utf8"); class Dict{ private $word; //显示的条数 private static $num = 10; public function __construct(){} /** * 公用返回百度采集数据的方法 * @param string 英文单词 * retun array( * symbol" => 音标 * "pro" => 发音 * "example"=> 例句 * "explain"=> 简明释义 * "synonym"=> 同反义词 * "phrase" => 短语数组 * ) * */ public function content($word){ $this -> word = $word; $symbol = $this -> Pronounced(); $pro = $this->getSay(); $example = $this -> getExample(); $explain = $this -> getExplain(); $synonym = $this -> getSynonym(); $phrase = $this -> getPhrase(); $result = array( "symbol" => $symbol, //音标 "pro" => $pro, //发音 "example"=> $example, //例句 "explain"=> $explain, //简明释义 "synonym"=> $synonym, //同反义词 "phrase" => $phrase //短语数组 ); return $result; } /** * 远程获取百度翻译内容 * get function curl * retun string * */ private function getContent(){ $useragent = "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:23.0) Gecko/20100101 Firefox/23.0"; $ch = curl_init(); $url = "http://dict.baidu.com/s?wd=".$this->word; curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_USERAGENT,$useragent); curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($ch, CURLOPT_HTTPGET, 1); curl_setopt($ch, CURLOPT_AUTOREFERER,1); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_TIMEOUT, 30); $result = curl_exec($ch); if (curl_errno($curl)) { echo 'Errno'.curl_error($curl); } curl_close($ch); return $result; } /** * 获取百度翻译发音 * retun array(英,美) * */ private function Pronounced(){ $data = $this -> getContent(); preg_match_all("/\"EN\-US\"\>(.*)\<\/b\>/Ui",$data,$pronounced); return array( 'en' => $pronounced[1][0], 'us' => $pronounced[1][1] ); } /** * 获取百度翻译发音 * return array(英,美) * */ private function getSay(){ $data = $this -> getContent(); preg_match_all("/url=\"(.*)\"/Ui",$data,$pronounced); return array( 'en' => $pronounced[1][0], 'us' => $pronounced[1][1] ); } /** * 获取百度翻译例句 * return array() 多维数组 例句 * */ private function getExample(){ $str = ""; $data = $this -> getContent(); preg_match_all("/var example_data = (.*)\]\;/Us",$data,$example); $data1 = "[[[".ltrim($example[1][0],"["); $data2 = explode("[[[",$data1); $num = count(array_filter($data2)); foreach($data2 as $key => $value){ $data3 = explode("[[","[[".$value); foreach ($data3 as $k => $v) { preg_match_all("/\[\"(.*)\",/Us","[".$v, $match); if(!empty($match[1])){ $str .= implode($match[1]," ")."@"; } } } $data4 = trim($str,"@"); $data5 = explode("@", $data4); $result = array_chunk($data5, 2); return $result; } /** * 获取简明释义 * return array (x => "词性",b => "附属") * **/ private function getExplain(){ $data = $this -> getContent(); preg_match_all("/id\=\"en\-simple\-means\"\>(.*)\Related labels:source:php.cnPrevious article:php+mysqli事务控制实现银行转账实例,mysqli银行转账_PHP教程 Next article:Zend Studio 12 安装及破解,zendstudio_PHP教程Statement of this WebsiteThe content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cnLatest Articles by Author
2024-08-17 21:49:11 2024-08-17 21:45:11 2024-08-17 21:40:32 2024-08-17 21:40:18 2024-08-17 21:40:11 2024-08-17 21:39:47 2024-08-17 21:39:11 2024-08-17 21:38:11 2024-08-17 21:34:11 2024-08-17 21:32:54Latest IssuesPHP trim unicode spaces I'm trying to trim unicode spaces such as this character and I was able to do it using thi...From 2023-11-13 08:49:4502398Related TopicsMore>