某企查数据爬取
本帖最后由 jiujiukeji 于 2021-1-26 16:43 编辑<?php
$companyNameStr=$_GET['n'];
$value=getInfo($companyNameStr);
echo '公司名称'.' '.'经营范围'.' '.'注册地址'.' '.'所属行业'.' '.'企业类型'."\n";
echo $value['entName'].' '.$value['scope'].' '.$value['district'].' '.$value['industry'].' '.$value['entType']."\n";
function getInfo($companyName){
$url='https://aiqicha.baidu.com/s?q='.urlencode($companyName).'&t=0';
$urlInfo=file_get_contents($url);
$reTag=get_tag_data($urlInfo,'<body><div id="app"></div><script>','</script>');
$arr=explode('window.pageData =',$reTag);
$resArr=explode('/* eslint-enable */',$arr);
$newStrs=$resArr;
$newstr = substr(trim($newStrs),0,-1);
$body=json_decode($newstr,true);
$pid=$body['result']['resultList']['pid'];
$detail_url='https://aiqicha.baidu.com/detail/basicAllDataAjax?pid='.$pid;
$detailJson=file_get_contents($detail_url);
$detailArr=json_decode($detailJson,true);
$result=$detailArr['data']['basicData']; //返回的企业信息JSON串可以根据自己需要提取
return $result;
}
function get_tag_data($str, $start, $end)
{
if ( $start == '' || $end == '' )
{
return;
}
$str = explode($start, $str);
$str = explode($end, $str);
return $str;
}
PHP版本爬取某企查企业信息,根据自己需要可以批量爬取
使用方式
http://你的域名/?n=企业名
2021-01-27 15:09:14 INFO: 从redis获取商户信息字典: {'merchant': '青岛环球物业管理有限公司'}
2021-01-27 15:09:33 ERROR: Gave up retrying <GET https://xin.baidu.com/s/a?q=%E9%9D%92%E5%B2%9B%E7%8E%AF%E7%90%83%E7%89%A9%E4%B8%9A%E7%AE%A1%E7%90%86%E6%9C%89%E9%99%90%E5%85%AC%E5%8F%B8&t=1&p=1&s=20&o=0&f=> (failed 11 times): [<twisted.python.failure.Failure twisted.internet.error.ConnectionDone: Connection was closed cleanly.>]
原先的百度企业信用接口关闭了 jiujiukeji 发表于 2021-1-26 17:00
接口没法掉你可以去试试。都是防爬取接口我这都是页面上采集下来的
我记得好像 调用这个接口,数据和页面一起返回给你 数据是一个json串 你用json串的特征进行截取 就可以提取json字符串 转换一下就可以了 学习一下
好东西,不登录可以爬不? caocao300 发表于 2021-1-26 16:46
好东西,不登录可以爬不?
可以的,不需要登录 来个可以使用代{过}{滤}理的脚本{:301_992:} 不错,不错 出个教程吧!对php不熟悉的不知道怎么用
这不叫爬虫吧 爱企查直接有接口可以调用的 ZenHaBit 发表于 2021-1-26 16:57
这不叫爬虫吧 爱企查直接有接口可以调用的
接口没法掉你可以去试试。都是防爬取接口我这都是页面上采集下来的
页:
[1]
2