利用PHP怎么对Google的IP进行抓取?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
php文件:
<?php /** * 免翻墙上google * @author 自娱自乐自逍遥 <wapznw@gmail.com> * Date: 2015/2/6 * Time: 11:42 */ define('START_TAG','#google-hosts-2015'); define('END_TAG','#google-hosts-2015-end'); if(!empty($argv[1])){ $params = array(); parse_str($argv[1], $params); if(isset($params['url'])){ define('GOOGLE_HOST_URL', $params['url']); } if(isset($params['del'])){ define('DELETE_GOOGLE_HOST',true); } } defined('GOOGLE_HOST_URL') || define('GOOGLE_HOST_URL', 'http://www.360kb.com/kb/2_150.html'); if(PHP_OS == 'WINNT'){ define('HOSTS_FILE_PATH', 'C:WindowsSystem32driversetchosts'); }else if(in_array(PHP_OS, array('Linux','Darwin','FreeBSD','OpenBSD','WIN32','Windows','Unix'))){ define('HOSTS_FILE_PATH', '/etc/hosts'); }else{ die('Unsupported system!'.PHP_EOL); } if(!is_writable(HOSTS_FILE_PATH)){ die('Without permission, please use the root user to perform!'.PHP_EOL); } $hosts = file_get_contents(HOSTS_FILE_PATH); $startPos = strpos($hosts, START_TAG); if(!defined('DELETE_GOOGLE_HOST')){ $gs = get_google_hosts(); echo GOOGLE_HOST_URL.PHP_EOL; echo $gs.PHP_EOL; }else{ $gs = ''; echo 'reset hosts'.PHP_EOL; } if($startPos){ $_tmp = substr($hosts, $startPos, strpos($hosts, END_TAG) - $startPos + strlen(END_TAG)); $hosts = str_replace($_tmp,$gs,$hosts); }else{ $hosts.= PHP_EOL.$gs; } $old_file_size = filesize(HOSTS_FILE_PATH); if(file_put_contents(HOSTS_FILE_PATH, $hosts)){ die('success. '.PHP_EOL); }else{ die('fail'.PHP_EOL); } function get_google_hosts(){ $html = file_get_contents(GOOGLE_HOST_URL); $html = strip_tags($html); $startPos = strpos($html, START_TAG); $html = substr($html, $startPos, strpos($html,END_TAG) - $startPos); $html = str_replace(' ',' ',$html); return $html.PHP_EOL.END_TAG; }
关于利用PHP怎么对Google的IP进行抓取问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注亿速云行业资讯频道了解更多相关知识。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。