编程语言从来都是工具,编程逻辑思维才是最重要的,在限定的规则内,实现自己的想法,正如人生一样!
不管是python还是php只要掌握了基础语法规则,明确了实现过程,都能达到想要实现的结果,不同的是有人接受能力强,变通厉害,反之,如本渣渣愚笨,不懂变动之人,一直在打转转。
希望更多学习编程语言的人早日走出新手村!
以下php实现百度下拉词的获取的简单案例,参考本渣渣以前写的Python获取百度下拉词,SEO工具脚本,Python百度下拉框关键词采集工具,结合度娘搜索参考,以php语言来实现同样的效果,还是那句话,编程是工具,最重要的还是编程的个人,与使用何种语言无关。
其实最早以前有写过一篇php的seo应用,PHP与SEO,应用curl及正则获取搜狗搜索相关关键词,本篇也是在该篇的基础上,应用同样的curl库来实现。
最初写的那篇php应用参考资料比较详细,如有意可移步查阅。
php相比python,本渣渣实践的太少,老是不习惯,没有写顺手,还是写的太少了!
以下简单分享几个关键点:
1.字符串编码转换 json_decode 函数
$keywords=json_decode($response, true); // 对JSON字符串「解码」,并转换为PHP变量。
2.字符串切片分段 explode函数
$slice = explode(".sug(", $encodedString);
3.功能强大的 php 扩展库 curl
$bd=curl_init();
curl_setopt($bd, CURLOPT_SSL_VERIFYPEER, false); // 信任任何证书
curl_setopt($bd,CURLOPT_URL, $url);
curl_setopt($bd, CURLOPT_RETURNTRANSFER, 1); //不直接输出页面内容
$response=curl_exec($bd);
curl_close($bd);
4.php 数组的打印输出
foreach($keywords as $keword){
echo $keword['q'].'<br>';
}
5.php 类方法的生成调用
$bd= new Bd();
// 版本一
$bd->bdxl();
echo '<hr>';
// 版本二
$bd->bdxl2();
echo '<hr>';
// 版本三
$bd->bdxl3();
6.字符串乱码 转换gbk编码 mb_convert_encoding 函数
$encodedString = mb_convert_encoding($originalString, 'UTF-8', 'GBK'); //转换成gbk编码
附源码参考:
<!-- https://www.php.net/curl-setopt -->
<!-- 公众号:Python与SEO学习 -->
<?php
class Bd
{
public function bdxl()
{
$key="php";
$xlurl="https://www.baidu.com/sugrec?pre=1&ie=utf-8&json=1&prod=pc&wd=";
$url=$xlurl.$key;
$bd=curl_init();
//curl_setopt($bd, CURLOPT_RETURNTRANSFER, true);
$user_agent = "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.146 Safari/537.36";
curl_setopt($bd, CURLOPT_USERAGENT,$user_agent);
curl_setopt($bd, CURLOPT_SSL_VERIFYPEER, false); // 信任任何证书
curl_setopt($bd,CURLOPT_URL, $url);
curl_setopt($bd, CURLOPT_RETURNTRANSFER, 1); //不直接输出页面内容
$response=curl_exec($bd);
curl_close($bd);
// echo $response;
// var_dump($response);
$keywords=json_decode($response, true); // 对JSON字符串「解码」,并转换为PHP变量。
// var_dump($keywords);
$keywords=$keywords["g"];
// var_dump($keywords);
foreach($keywords as $keword){
echo $keword['q'].'<br>';
}
}
public function bdxl2(){
$key="php";
$xlurl="https://sp0.baidu.com/5a1Fazu8AA54nxGko9WTAnF6hhy/su?wd=";
$url=$xlurl.$key;
$bd=curl_init();
curl_setopt($bd, CURLOPT_SSL_VERIFYPEER, false); // 信任任何证书
curl_setopt($bd,CURLOPT_URL, $url);
curl_setopt($bd, CURLOPT_RETURNTRANSFER, 1); //不直接输出页面内容
$response=curl_exec($bd);
curl_close($bd);
// echo $response;
// var_dump($response);
// print_r($response);
$originalString = $response;
$encodedString = mb_convert_encoding($originalString, 'UTF-8', 'GBK'); //转换成gbk编码
// var_dump($encodedString);
// 切片,以'false,s:['作为分隔符
$slice = explode("false,s:[", $encodedString);
// var_dump($slice[1]);
// 切片,以']'作为分隔符
$slice = explode("]", $slice[1]);
// var_dump($slice[0]);
// 切片,以','作为分隔符
$slice = explode(",", $slice[0]);
// var_dump($slice);
// print_r($slice[0]);
foreach($slice as $keyword){
echo $keyword.'<br>';
}
echo '<hr>';
$slice = explode(".sug(", $encodedString);
// var_dump($slice[1]);
$slice = explode(")", $slice[1]);
var_dump($slice[0]);
}
public function bdxl3(){
$key="php";
$url='http://suggestion.baidu.com/su?wd='.$key.'&sugmode=3&json=1';
$bd=curl_init();
curl_setopt($bd, CURLOPT_SSL_VERIFYPEER, false); // 信任任何证书
curl_setopt($bd,CURLOPT_URL, $url);
curl_setopt($bd, CURLOPT_RETURNTRANSFER, 1); //不直接输出页面内容
$response=curl_exec($bd);
curl_close($bd);
// var_dump($response);
$originalString = $response;
$encodedString = mb_convert_encoding($originalString, 'UTF-8', 'GBK'); //转换成gbk编码
// var_dump($encodedString);
$slice = explode(".sug(", $encodedString);
$slice = explode(")", $slice[1]);
// var_dump($slice[0]);
$keywords=json_decode($slice[0], true); // 对JSON字符串「解码」,并转换为PHP变量。
// var_dump($keywords);
$keywords=$keywords["g"];
// var_dump($keywords);
foreach($keywords as $keword){
echo $keword['q'].'<br>';
}
}
}
$bd= new Bd();
// 版本一
$bd->bdxl();
echo '<hr>';
// 版本二
$bd->bdxl2();
echo '<hr>';
// 版本三
$bd->bdxl3();
当然版本二获取的输出打印还是存在问题,这里仅供参考,就不搞了,其实是搞了很久没搞出来...
·················END·················
你好,我是二大爷,
革命老区外出进城务工人员,
互联网非早期非专业站长,
喜好python,写作,阅读,英语
不入流程序,自媒体,seo . . .
公众号不挣钱,交个网友。
读者交流群已建立,找到我备注 “交流”,即可获得加入我们~
听说点 “在看” 的都变得更好看呐~
关注关注二大爷呗~给你分享python,写作,阅读的内容噢~
扫一扫下方二维码即可关注我噢~
关注我的都变秃了
说错了,都变强了!
不信你试试
扫码关注最新动态
公众号ID:eryeji