背景介绍
百度收录的页面比较慢,最近新的三方流以及方案页面发布出来,想着每天多一点抓取。现在整体的方案是:
- 页面有点击的时候, js 自动推送
- 通过更新 sitemap.xml 自动让蜘蛛来抓取
- 通过脚本主动推送新页面到引擎
今天主要是上述的第三点,主动推送新页面到百度引擎中去。尝试的方法是通过 php 代码生成 php 代码。
注意事项
- EOF 的结尾空格问题
- EOF 中的
$
符号要转义
- 纯属手痒尝试,模仿请自行负责
代码留存备份
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
| <?php include('head.php'); $sql = "select * from flow where published='y'";
$f_values = ''; $f_values .=<<<EOF <?php \$urls = [ EOF; $flows = get_table_data($sql,$mysqli_space); if(false == empty($flows)) { foreach($flows as $flow) { $f_values.=<<<EOF 'https://www.12306.com/flow-{$flow['d_id']}.html', EOF; $f_values.=PHP_EOL; } }
$sql_bcase = "select * from beautycase where published='y'";
$cases = get_table_data($sql_bcase,$mysqli_space); if(false == empty($cases)) { foreach($cases as $case) { $f_values.=<<<EOF 'https://www.12306.com/beautycase-{$case['d_id']}.html', EOF; $f_values.=PHP_EOL; } }
$f_values.=<<<EOF ]; \$api = 'http://data.zz.baidu.com/urls?site=www.12306.com&token=abcdefg'; \$ch = curl_init(); \$options = array( CURLOPT_URL => \$api, CURLOPT_POST => true, CURLOPT_RETURNTRANSFER => true, CURLOPT_POSTFIELDS => implode("\n", \$urls), CURLOPT_HTTPHEADER => array('Content-Type: text/plain'), ); curl_setopt_array(\$ch, \$options); \$result = curl_exec(\$ch); echo \$result; EOF; file_put_contents('/www/wwwroot/TransDataToPub/putUrls.php',$f_values);
|