我试过了
<?php
$url = $_POST['attributename'];
$needtofind = "did not match any documents. </p>";
$site = file_get_contents("https://www.google.com/#q=site:$url");
if(strpos($site, $needtofind) == false) {
echo 'indexed';
} else {
echo 'not indexed';
}
ob_end_clean();
?>
HTML
<div class="center-page">
<form method="POST">
<textarea id="float" name="attributename" value=""></textarea><br/>
<input type="submit" value="Go" />
</form>
</div>
代码在同一页面上。我只是将它们打印得更清楚。
主要问题是默认情况下它会在屏幕indexed
上告诉我。如果我输入任何网址,它也会说indexed
。例如,我在textarea jhbsadhbahsd545.com中键入url,当它应该返回indexed
时返回not indexed
。
我做错了什么?
答案 0 :(得分:2)
strpos可以返回0,这是一个假值。与===
比较strpos($site, $needtofind) === false
但是我认为这不会起作用,因为Google没有返回您正在寻找的第一个响应的字符串,而是在页面加载了javascript时延迟加载。
打开Chrome和view-source:https://www.google.com/#q=site:hopefullythisisadomainthatdoesnotexists.com
以查看Google返回的内容以及为什么它总是丢失。
同时更改您发出请求的网址:
https://www.google.com/#q=site:$url
为:
https://www.google.com/search?q=site:$url
答案 1 :(得分:1)
所以你不能以这种方式从谷歌中删除内容,他们实际上禁止你这样做。您需要利用他们的API来完成您所需要的工作。
https://developers.google.com/custom-search/json-api/v1/overview