php爬取whois数据 php实现爬虫
网站上线二十多天,一直没有收录,请教大神
您这个情况很常见。被搜索引擎收录,首先得让搜索引擎的蜘蛛爬虫能够有通道爬到您的网站。如果没有这个入口,当然没有办法被收录。如下几个方法请尝试:
创新互联坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都网站设计、成都做网站、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的嘉鱼网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!
1、每个搜索引擎都有手动提交网址收录的专用链接,进去提交您的网址即可。
①Google网站提交入口:
②必应网站提交入口:
③360网站提交入口:;a=index
④百度网站提交入口:
⑤搜狗网站提交入口:
2、去查询您网站网址的Whois信息,如去站长之家,查询whois信息,这样站长之家就会记录您的网址,进而搜索引擎就可以顺着站长之家怕到您的网址。
3、搜索引擎录入或者爬取您的网站是需要一定时间的,可能几天,也可能十天半个月的,您可以再过段时间再次进行查询。
php如何爬取天猫和淘宝商品数据
直接用Curl就行,具体爬取的数据可以穿参查看结果,方法不区分淘宝和天猫链接,但是前提是必须是PC端链接,另外正则写的不规范,所以可以自己重写正则来匹配数据。
用PHP实现标准的IP Whois查询
由于Internet的历史原因,apin负责整个网络IP的整体规划以及北美区
还有部分非洲地区的IP分配管理,与此相应的是,whois.apin点虐 是IP
whois的root
server,标准的IP
whois查询方法是,首先向whois.apin点虐 查询某个IP属于哪个大区,然后再向该区的whois
服务器查询此IP的whois详细信息。
目前负责
IPV4的大区
whois.arin点虐
美洲区
北美
whois.apnic点虐
亚太区
包括亚洲和澳大利亚
whois.ripe点虐
欧洲区
欧洲/中东(西亚)/北非
whois.lacnic点虐
拉美区
拉丁美洲和加勒比海区域
非洲网络的IP查询也在whois.arin点虐
向某个whois服务器提交whois查询的过程
打开一个到whois服务器的43端口的连接,然后发送要查询的域名
和一个回车换行。如果要查询多个域名,请用空格分开然后从sokect中读取结果。最后服务器将自动断开连接。
用PHP实现
1.验证IP(用
ip2long代替
ereg)
2.向
whois.arin点虐 查询,如果数据库中没有相关信息,会给出一个Referral
Server的URL,格式如下
ReferralServer:
然后根据此信息,继续查询
代码如下
whoisip.php
?php
include_once
"lang.inc.php";
$IP
=
isset($_GET['ip'])?$_GET['ip']:'blank';
if
(-1
===
ip2long($ip))
die(str_replace('%IP%',
$IP,
$Text['ip_invalid']));
echo
GetWhois($IP);
function
GetWhois($IP)
{
global
$Text;
$rootwhois
=
'whois.arin点虐 ';
$buffer
=
str_replace('%SERVER%',
$rootwhois,
$Text['sock_connect']);
$buffer1
=
ReadSocket($rootwhois,$IP);
if
($buffer1
!==
'')
{
$whois
=
SubStrByTag("ReferralServer:
whois://","\n",$buffer1);
//remove
port
number
":43";
if
(
($pos=strpos($whois,":"))
!==
FALSE)
{
$whois
=
substr($whois,
0,$pos);
}
if
($whois
!==
'')
{
$buffer
.=
str_replace('%SERVER%',
$whois,
$Text['sock_connect']);
$buffer
.=
ReadSocket($whois,$IP);
}
else
{
$buffer
.=
$buffer1;
}
}
return
nl2br($buffer);
}
function
SubStrByTag($firstTag,$secondTag,$longStr)
{
$firstPos
=
strpos
($longStr,$firstTag);
$ret
=
'';
if
($firstPos
!==
FALSE)
{
$secondPos
=
strpos
($longStr,$secondTag,$firstPos);
if
($secondPos
!==
FALSE)
{
$firstPos
+=
strlen($firstTag);
$ret
=
substr($longStr,$firstPos,$secondPos-$firstPos);
}
}
return
$ret;
}
function
ReadSocket($whois,$ip)
{
global
$Text;
$buffer
=
'';
if
(!$sock
=
fsockopen(
$whois,
43,
$errNum,
$errStr,
20))
{
$buffer
=
str_replace('%SERVER%',
$whois,
$Text['sock_fail']);
}
else
{
fputs($sock,"$ip\n");
//$buffer
=
fread($sock,
8192);
while(!feof($sock))
$buffer.=fgets($sock,
8192);
fclose($sock);
}
return
$buffer;
}
?
语言文件:
lang.inc.php
?php
$Text
=
Array(
'ip_invalid'='I
want
to
get
a
valid
IP,
but
it
is
[%IP%].',
'sock_connect'='Ask
%SERVER%
...
',
'sock_fail'='Cannot
connect
to
the
host:%SERVER%'
);
?
其他有名的whois服务器
1.Tucows
(whois.opensrs点虐 )
一次只能一个连接
dnsstuff就是查询的它
2.BulkRegister
(whois.bulkregiter点虐 )
小心它临时封IP,如果大量连接的话
3.Network
Solutions
(whois点虐 worksolutions点抗 )
一天只能查1000次
4.Go
Daddy
(whois.godaddy点抗 )
5.whois.abuse点虐
php提取json数组里面的值怎么提?
先把获取的内容打印出来 ,看看是不是正常返回的数据
$filename = "";
$content = file_get_contents($filename);
$json = @json_decode($content );
if($json){
$city=$json-city;
}else{
echo "json解析失败:".$content;
}
也可以根据你的框架功能,写成日志,方便出错时随时检查
另外 ,json_decode 可以接收一个参数来确定解析成对象还是数组
$content = '{"ip":"120.239.177.231","pro":"广东省","proCode":"440000","city":"中山市","cityCode":"442000","region":"","regionCode":"0","addr":"广东省中山市 移通","regionNames":"","err":""}';
$json = json_decode($content,true);
echo $json['city'];
参考文档:PHP json_decode
新闻名称:php爬取whois数据 php实现爬虫
当前链接:http://ybzwz.com/article/ddesisd.html