自己做个了商城与食品与关,想获取国家食品与药品管理总局网站 (网址为:http://www.sfda.gov.cn/ws01/cl0001/)食生生产许可证编码,经过折腾通过这种方式获取到数据 例如:http://app1.sfda.gov.cn/datasearch/face3/search.jsp?tableid=91&keyword=qs4306 2401 0904 。但是此网站不知道做了什么限制,curl,file_get_content各种方式都限制了,不知道该用什么方法才能获取到,请高手测试以后,回复。多谢。满意全部分送上。140分。
回复讨论(解决方案)
header(‘content-type: text/html;charset=utf-8’);
$url = ‘http://app1.sfda.gov.cn/datasearch/face3/search.jsp?table;
$s = file_get_contents($url);
echo ” , $s;
没有问题
呵呵,高手就在民间,弄一个下午加半个晚上,我自己也刚搞定,本想结贴,就有高手回复了。我自己处理方式:
原来这样http://app1.sfda.gov.cn/datasearch/face3/search.jsp?tableid=91&keyword=qs4306%202401%200904提交数据是我自己在这个网站上摸索出来的。但是我自己试了都没有弄成功。后来继续搜索发现了问题,这样处理不规范。
通过修改这样才对。
$url = “http://125.35.6.7/datasearch/face3/search.jsp?”;
$table;
$keyword=”qs4306 2401 0904″;$postdata = “table&keyword=”.$keyword; //请求的数据,以 & 符号分割
$curl = curl_init(); //开启curl
curl_setopt($curl, curlopt_url, $url); //设置请求地址
curl_setopt($curl, curlopt_returntransfer, 1); //是否输出 1 or true 是不输出 0 or false输出
curl_setopt($curl, curlopt_post, 1); //是否使用post方法请求
curl_setopt($curl, curlopt_postfields, $postdata); //post数据
echo $data = curl_exec($curl); //执行curl操作
curl_close($curl);
这样才对,虽是乱码,但总是弄出来,再想办法处理乱码。
相信此方法对于那些限制抓取网站可能会有帮助。
原来是版主给回复的。不管怎样说话算话,140分就全给版主了。虽然版主不缺分。就此结贴。多谢版主。