百度移动搜索自动转码太坑爹,JS跳转地址会被抓取

这段时间碰到个很崩溃的问题,一个页面通过 script 加载请求服务端进行统计再输出js进行跳转,分为两个步骤分别统计,

  1. 打开页面通过script 请求远程服务器进行统计并输出要通过js使页面跳转的最终地址。
  2. 页面获取跳转地之后通过 location 进行跳转

很简单一个事情,但在百度移动搜索上出了个大问题:
通过百度搜索引擎关键词搜索到网页后,只跳转了却没有进行第一步请求,非常奇怪。

研究了半天才发现这个百度移动的自动转码问题

类似下图搜索结果,网页上被投放过JS跳转,导致被百度缓存,下次点击将不会再进入网站页面而是直接跳转到了第二步的目标页面,导致第一步统计失效

// 只是类似这样的链接,下面的链接可能已经失效了
$url = 'http://m.baidu.com/from=0/bd_page_type=1/ssid=0/uid=0/pu=usm%400%2Csz%401320_1001%2Cta%40iphone_2_4.3_3_534/baiduid=637EBC50744C1291B831A26D208F44D8/w=0_10_%E7%A6%81%E4%B9%A6%E5%A4%A7%E5%85%A8%E9%9B%86/t=iphone/l=3/tc?ref=www_iphone&lid=13212517736186082851&order=1&vit=osres&tj=www_normal_1_0_10_title&m=8&srd=1&cltj=cloud_title&dict=32&title=%E5%8D%81%E5%A4%A7%E7%A6%81%E4%B9%A6%E4%B9%8B%E5%B0%91%E5%B9%B4%E9%98%BF%E5%AE%BE%E7%9B%AE%E5%BD%95%2C%E5%8D%81%E5%A4%A7%E7%A6%81%E4%B9%A6%E4%B9%8B%E5%B0%91%E5%B9%B4%E9%98%BF%E5%AE%BE%E6%9C%80%E6%96%B0%E7%AB%A0%E8%8A%82...&sec=8191&di=e644ac04d0707d79&bdenc=1&nsrc=IlPT2AEptyoA_yixCFOxXnANedT62v3IEQGG_zRPQGjm95qshbWxBcNiV8KhVinHVZy';
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_HEADER, true);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, false);
$content = curl_exec($curl);
echo htmlentities($content);
curl_close($curl);

通过CURL进行抓取内容,设置为不跟随跳转,获取第一次请求输出的内容如下:

看图上三个红色箭头,这是百度自己转码输出的js跳转加 meta refresh 两种跳转代码,他居然把我跳转的地址直接抓取了,真牛比,不知道百度是怎么实现的,导致第一步的请求只有刚放上去的时候请求过一两次,然后第二天一整天发现都没有被请求过,说明百度是在搜索结果页面直接跳转的,而根本没有进入网页,将跳转地址给缓存了。

如果把跳转放在个复杂的 if 判断里面或者 加个 几秒钟的延迟不知道会怎么样,如果是分析代码得出的话,那页面上的js超级多,要是条件在另一个js里面动态输出的他又怎么抓,如果不是分析js,百度怎么可能知道我什么时候跳转呢,他不可能一直监听几分钟吧,

对于站长来说可以增加百度自身的协议或手机适配文件来拒绝被转码
但网站并不是我的,我也无权操作页面其他部分,完全无解了,百度这个转码太坑爹了

目前也没有条件再进行测试,很是郁闷。。不过他还是会隔段时间进行更新的,撤掉js跳转后也会自动恢复

时间: 2024-09-15 17:14:47

百度移动搜索自动转码太坑爹,JS跳转地址会被抓取的相关文章

Android仿百度谷歌搜索自动提示框AutoCompleteTextView简单应用示例_Android

本文实例讲述了Android仿百度谷歌搜索自动提示框AutoCompleteTextView简单应用.分享给大家供大家参考,具体如下: 现在我们上网几乎都会用百度或者谷歌搜索信息,当我们在输入框里输入一两个字后,就会自动提示我们想要的信息,这种效果在Android 里是如何实现的呢? 事实上,Android 的AutoCompleteTextView Widget ,只要搭配ArrayAdapter 就能设计同类似Google 搜索提示的效果. 本例子先在Layout 当中布局一个AutoCom

Android仿百度谷歌搜索自动提示框AutoCompleteTextView简单应用示例

本文实例讲述了Android仿百度谷歌搜索自动提示框AutoCompleteTextView简单应用.分享给大家供大家参考,具体如下: 现在我们上网几乎都会用百度或者谷歌搜索信息,当我们在输入框里输入一两个字后,就会自动提示我们想要的信息,这种效果在Android 里是如何实现的呢? 事实上,Android 的AutoCompleteTextView Widget ,只要搭配ArrayAdapter 就能设计同类似Google 搜索提示的效果. 本例子先在Layout 当中布局一个AutoCom

了解百度移动搜索 别等到被歧视

近日,在百度沙龙北京站,百度移动搜索工程师骆旭剑和百度图库的工程师分别进行的发言,值得站长注意的是12月份移动搜索要有比较大的动作,PC页面的信息将会被逐渐的会从移动搜索总消失. 百度团队提到之前没有手机站的传统网站可以直接通过手机访问而带来流量,而这部分流量将会在以后逐渐减少,百度移动搜索算法调整,将会导致对没有手机站的网站通过手机所带来的流量逐步切断,大概会在两个月左右的时间内进行此计划的全面测试,并透露在明年适合的时间段将会完全将这部分流量全部屏蔽掉.而LEE也说到没有移动站的PC站会被歧

百度移动搜索是怎么工作的

摘要: 近日,在百度沙龙北京站,百度移动搜索工程师骆旭剑和百度图库的工程师分别进行的发言,值得站长注意的是12月份移动搜索要有比较大的动作,PC页面的信息将会被逐渐的会从移动搜 近日,在百度沙龙北京站,百度移动搜索工程师骆旭剑和百度图库的工程师分别进行的发言,值得站长注意的是12月份移动搜索要有比较大的动作,PC页面的信息将会被逐渐的会从移动搜索总消失. 百度团队提到之前没有手机站的传统网站可以直接通过手机访问而带来流量,而这部分流量将会在以后逐渐减少,百度移动搜索算法调整,将会导致对没有手机站

【网络爬虫】给关键字获取百度知道搜索数据的网络爬虫

转载请注明出处http://blog.csdn.net/qq_26525215 本文源自[大学之旅_谙忆的博客] 简单的通过关键字爬出百度知道的一些搜索数据. 例如问题提问时间答案文本答案时间点赞数拍砖数回答人回答人级别搜索的关键字等. 答案可以有多个每个问题有多个答案应都保存.保存数据在MySql中. 在这里需要用到一个牛人的爬虫框架 WebMagic 网址http://webmagic.io/docs/zh/ 我用的是IEDA工具建立的是Maven项目. 要搞爬虫一些基础的学习是不可少的比如

360违规抓取搜索结果?百度向法务人士求救

中介交易 SEO诊断 淘宝客 云主机 技术大厅 新京报讯 (记者刘夏)360的入局给搜索市场带来"震动".昨日,在公司2012年第二季度财报电话会议上,奇虎360董事长周鸿祎表示,360推搜索以来,流量增长远远超出预期.昨日百度表示,对于搜索结果被360抓取,百度正在请教法务人士. 搜索份额成疑 360搜索于8月16日亮相,并成为360网址导航.360浏览器的默认搜索引擎. 本周二,金山网络CEO傅盛称,"360搜索上线五天,在用户几乎无感知情况下迅速拿下国内接近10%搜索市

利用PHP抓取百度阅读的方法示例_php技巧

前言 这篇文章主要介绍的是,如何利用PHP抓取百度阅读的方法,下面话不多说,来一起看看吧. 抓取方法如下 首先在浏览器里打开阅读页面,查看源代码后发现小说的内容并不是直接写在页面里的,也就是说小说的内容是通过异步加载而来的. 于是将chrome的开发者工具切到network一栏,刷新阅读页面,主要关注的是XHR和script两个分类下. 经过排查,发现在script分类下有个jsonp请求比较像是小说内容,请求的地址是 http://wenku.baidu.com/content/49422a3

实战分析百度站长工具之抓取诊断工具详解

做谷歌优化的朋友对谷歌管理员工具一定不陌生,在谷歌管理员工具中,有"像谷歌一样抓取"功能,现在做百度优化的朋友福利也来了,百度站长工具最近推出"抓取诊断"工具,通过该功能可以更好的辅助SEO优化工作,下面就给大家解释一下该功能的用法和注意事项. 什么是抓取诊断工具 抓取诊断工具,可以让站长从百度蜘蛛的视角查看抓取内容,自助诊断百度蜘蛛看到的内容,和预期是否一致. 每个站点每月可使用300次,抓取结果只展现百度蜘蛛可见的前200KB内容. 注意:要使用抓取诊断工具,前

百度UEditor编辑器如何关闭抓取远程图片功能

 这个坑娘的功能,开始时居然不知道如何触发,以为有个按钮,点击一下触发,翻阅了文档,没有发现,然后再网络上看到原来是复制粘贴非白名单内的图片到编辑框时触发,坑娘啊............... 问题又来了:今天在写百度UEditor编辑器的[取远程图片功能]时有碰到:该功能如何关闭了? 又花了15分钟左右的时间查阅了[官方文档]以及[官方论坛],都没有找到解决办法,那就查阅下源文件看看,是否有相关的判断呢(本人JS非常烂) 于是马上查阅:ueditor.all.js文件,发现如下代码   代码如