点击网页中正常链接结果跳转到天猫淘宝的页面
2017-06-26 17:14
766 查看
在百度上正常搜索一个关键词,比如箭牌指纹锁,搜索的结果如下:
其他的搜索结果很正常比如第一个是官网,第二个是京东的页面,第三个页面显示的域显示的是一个资讯网站,点击进入之后却是天猫的页面,查看百度快照,快照的内容才是原页面的内容。背后肯定是用了页面跳转技术的,但究竟是什么类型的跳转,需要研究一下。
首先想到的就是JS跳转,打开Chrome设置,禁用网站JS:
再次点击百度搜索页面的链接,结果显示正常了,与快照的内容也是一致的。也就是说,页面使用的JS判断跳转,具体看一下判断的条件,是浏览器的UA还是其他项。查看页面的源代码,找到网站加载的JS,找到以下内容:
可以看到,网站针对浏览器的referrer头进行了判断跳转;解释一下浏览器referrer ,Http协议头中的Referer主要用来让服务器判断来源页面, 即用户是从哪个页面来的,通常被网站用来统计用户来源,是从搜索页面来的,还是从其他网站链接过来,或是从书签等访问。这里只要用户从百度、搜狗、360、google搜索并点击进来的,就会跳转到指定页面。而正常访问该页面的链接则不会跳转。
为什么蜘蛛不会跳转到相应的页面,是的快照的内容是跳转之后的页面内容?
有三点可能性,1、蜘蛛访问时并不携带referrer信息,所以不会跳转;2、蜘蛛无法很好的对网站的js进行判断,说白了不认识JS;3、蜘蛛无法访问被跳转页面的内容,因为电商内的网站一般是禁止蜘蛛抓取的。
不当之处请批评指出。
其他的搜索结果很正常比如第一个是官网,第二个是京东的页面,第三个页面显示的域显示的是一个资讯网站,点击进入之后却是天猫的页面,查看百度快照,快照的内容才是原页面的内容。背后肯定是用了页面跳转技术的,但究竟是什么类型的跳转,需要研究一下。
首先想到的就是JS跳转,打开Chrome设置,禁用网站JS:
再次点击百度搜索页面的链接,结果显示正常了,与快照的内容也是一致的。也就是说,页面使用的JS判断跳转,具体看一下判断的条件,是浏览器的UA还是其他项。查看页面的源代码,找到网站加载的JS,找到以下内容:
可以看到,网站针对浏览器的referrer头进行了判断跳转;解释一下浏览器referrer ,Http协议头中的Referer主要用来让服务器判断来源页面, 即用户是从哪个页面来的,通常被网站用来统计用户来源,是从搜索页面来的,还是从其他网站链接过来,或是从书签等访问。这里只要用户从百度、搜狗、360、google搜索并点击进来的,就会跳转到指定页面。而正常访问该页面的链接则不会跳转。
为什么蜘蛛不会跳转到相应的页面,是的快照的内容是跳转之后的页面内容?
有三点可能性,1、蜘蛛访问时并不携带referrer信息,所以不会跳转;2、蜘蛛无法很好的对网站的js进行判断,说白了不认识JS;3、蜘蛛无法访问被跳转页面的内容,因为电商内的网站一般是禁止蜘蛛抓取的。
不当之处请批评指出。
相关文章推荐
- Android webview里加载显示网页,显示进度,点击网页链接跳转到app页面
- 用手机浏览器登陆我的淘宝(电脑网页版)之后点击立即付款跳转到手机支付页面
- ios App加载本地HTML网页,点击网页链接跳转到app页面的方法
- QWebEngineView点击网页链接跳转页面
- 点击按钮或链接 不跳转刷新页面
- 如何点击链接直接跳转到app store指定应用下载页面
- [Phonegap+Sencha Touch] 移动开发58 从移动浏览器(或webview)网页上点击链接跳转到QQ聊天界面
- Android中点击TextView文本链接跳转到指定页面
- 点击A页面链接,跳转至B页面指定位置
- JS如何实现点击页面内任意的链接均加参数跳转?
- C#-WebForm-点击网页中的按钮后跳转到其他页面是怎么实现的?
- 如何在手机浏览器wap网页中点击链接跳转到微信界面
- 在移动网页网页上点击链接跳转到QQ聊天界面
- 如何点击链接直接跳转到app store指定应用下载页面
- 在一个页面点击链接跳转至另一个页面的选项卡tab中
- Android内嵌网页webview点击其中的链接跳转到我们应用内的Activity
- 网页上点击跳转重新打开页面显示
- 如何在手机浏览器网页中点击链接跳转到QQ聊天界面
- 问题:asp.net 点击button按钮调到页面顶部;结果:asp.net点击一个按钮,使页面跳转到本面页上的指定位置
- iOS实现在webview页面内点击链接,跳转指定App