我们有一个 PHP 脚本,它可以抓取搜索引擎结果页面并将客户网站位置输出到为其域定制的报告套件中。
Google 在 2 月的第一周更改了一些内容,导致我们的脚本无法检测页面上的域,我目前还没有在办公室找到原始开发人员,我们的任何其他员工也无法解决这个问题。
我很确定我知道问题出在脚本中,只是因为我不是开发人员,所以我不确定每一行实际上在做什么。我们的脚本使用搜索结果中的相关类来确定我们要查找的内容实际位于何处。
脚本本身仍然可以正常运行并输出 HTML。这纯粹是脚本的一部分,它说在未检测到的页面上查找“域”。
我很感激您可能需要我提供更多信息才能告知问题所在,我很乐意根据需要提供文件/编码。如有必要,我也准备为此付费。
下面是我觉得问题发生的地方: -
// Note our use of ===. Simply == would not work as expected
// because the position of 'a' was the 0th (first) character.
if ($pos4 === false) {
$mystring5 = $val[0];
$findme5 = $prevlink;
$pos5 = @strpos($mystring5, $findme5);
// Note our use of ===. Simply == would not work as expected
// because the position of 'a' was the 0th (first) character.
if ($pos5 === false) {
$serp = $serp + 1;
echo '<b>'.$serp.'.</b> '.$val[0].'<br /><br />';
$link = get_string_between($val[1], 'href="', '" onmousedown');
$link = str_replace('https://','',$link);
$link = str_replace('http://','',$link);
$link = str_replace('www.','',$link);
$link;
$prevlink = $link;
$prevlink = str_replace(strstr($prevlink, '/'), "", $prevlink);
$sitelen = strlen($row_site_check['website_name']);
$sitefrom_link = substr($link, 0, $sitelen);
if ($sitefrom_link == $row_site_check['website_name']) {
$site_found = 1;
$rank_postion = $serp;
$site_link = $link;
$con = mysql_connect("localhost","dbname","dbpass");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
任何帮助将不胜感激。
谢谢。