这段时间碰到个很崩溃的问题,一个页面通过 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跳转后也会自动恢复

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

  1. Python采集百度相关搜索关键词源码

    Python采集百度相关搜索关键词源码 #百度相关搜索关键词抓取,读取txt关键词,导出txt关键词# -*- coding=utf-8 -*- import requests import re i ...

  2. 【小程序源码】uni-app云开发的网盘助手抓取网盘资源

    这是一款uni-app开发的一款网盘小助手小程序源码 安装教程: 我们首先使用HBuilderx导入您的源码,然后点击manifest.json基础配置然后重新获取一下uni-app应用标识 然后我们 ...

  3. 太刺激了!用python30行代码抓取虎牙上万个小姐姐跳舞视频,不说了,鼻血上来了···

    关注我,每天分享软件测试技术干货.面试经验,想要领取测试资料.进入软件测试学习交流群的可以直接加群644956177~~ 很多小伙伴在平时看视频的时候,都喜欢看小姐姐的舞蹈视频.今天,小编就和大家一起 ...

  4. 百度相关搜索软件_不太热门的办公神器软件篇搜索相关

    这次介绍两个windows平台超好用的搜索神器--listary和everything 全文阅读约需3分钟 在工作中,虽然大部分文件都会分门别类地放在对应的文件夹中,但总有一些放完就忘了在哪或是层级过 ...

  5. 百度链接提交php获取状态码,新网站,在百度提交了首页链接,但是一直没有收录,也没有爬虫抓取,怎么回事呢?(悬赏1元) - 搜外SEO问答...

    新站前期需要做哪些操作: 1.上线前保证网站的内容已经有一定的丰富性,可供爬虫已经有20+的主关键词相关的界面或文章,50+为最佳. 2.新站的标题不要堆彻关键词,以主关键词+主关键词描述语句+品牌词 ...

  6. python爬取百度新闻_火车浏览器网络爬虫实践6:以“陕茶”为例爬取百度新闻搜索结果...

    每天进步一点点,这是我2019年的小目标. 这是第6次学习与实践笔记了,这一次咱们把对象转移到百度搜索去,尝试使用火车浏览器爬虫工具来采集百度新闻搜索的结果,并做简单数据可视化展示. 01 抓取需求 ...

  7. 如何禁止百度自动转码?

    如何禁止百度自动转码? 百度移动搜索引擎为了更好地满足用户需求,会对移动搜索结果中的网页进行转码处理,如果站长不希望自己网站的网页被转码.依然希望手机端用户浏览PC页该如何操作呢? 当然这些内容并非平 ...

  8. Python + PySpider 抓取百度图片搜索的图片

    说明 1.PySpider 是一个方便并且功能强大的Python爬虫框架 2.PySpider 依赖于PhantomJS 3.windows平台,PySpider 与64位的Python兼容不太好,需 ...

  9. 个人博客系列【Hexo】-实现在百度中搜索到自己的博客

    目录 1.添加站点 2.选择协议头"http:// ",填写网站域名,点击下一步: 3.设置站点领域,这里选择信息技术(按需选择),点击下一步: 4.验证网站,选择CNAME验证, ...

最新文章

  1. 构建DHCP及中继服务器
  2. 【boundfield】GridView中BoundField与TemplateField的区别_boundfield
  3. BlockChain: 区块链入门课程 -- 区块链适用于移动性 分享和收费案例
  4. Andrew Ng机器学习编程作业:K-means Clustering and Principal Component Analysis
  5. golang ajax jquery,golang - 从http请求返回json字符串的库/包
  6. SwiftUI AsyncImage cancelled 无法加载图片
  7. html小游戏代码_厉害!84 行 JavaScript 代码实现塔式堆叠游戏
  8. mysql 隐秘后门_Phpstudy被暴存在隐藏后门-检查方法
  9. 绑定事件和解绑事件的方法
  10. 校园天翼客户端常见错误码
  11. 【OpenCV学习】对于仕琪所写《OpenCV教程基础篇》的一些想法
  12. Nginx——自定义错误页面
  13. python删除txt文本文件第一行数据
  14. 广西一男子酒后肇事逃逸 致环卫工人被撞身亡(图)
  15. 我的世界服务器无限矿区块指令,我的世界:不用动手也能挖到钻石?来自指令玩家的方法...
  16. ps计算机设置,做着ps电脑卡了怎么办 试试设置这四项
  17. 一、计算机核心组成及CPU核心组成
  18. flash 水墨表现(转)
  19. oracle在linux自启动和停止脚本
  20. 易语言制作提示类对话框

热门文章

  1. ubuntu系统崩溃,甚至Recovery模式和tty都无法进入,这个方法可以救援!
  2. CF 821D Okabe and City
  3. 杂记 - WSL2 局域网访问, 代理设置, IP设置(已集成工具)
  4. 智慧职教云答案在哪里找_职教云的答案在哪里找?,云课堂智慧职教云题库答案,职教云怎么出答案...
  5. Golang单元测试覆盖率统计
  6. mios系统和鸿蒙,继华为之后又一国产手机将用上自研系统 小米miOS会成为现实吗...
  7. 移动端h5落地页总结(vue cli+vant)
  8. RSA对数据进行加签和验签
  9. python逻辑与界面分离_一种数据与逻辑分离的Python单元测试工具
  10. 计算机毕业设计基于Android社区物业便民服务小区APP设计