项目中遇到需要采集某个网站的数据,经过查看发现它用的是百度的站内搜索技术。站内搜索,采用的是ajax的技术,通过请求获取百度返回的json字符串,写入到页面中的。随后尝试了许多的方法,去采集他的数据,都是失败了。

于是,我就上百度去搜索了一下,都是一些泛泛之谈,没有实际的用处。最后,想想还是自己去研究吧。

在我不断的努力和找人咨询的情况下,终于,得到了下面的教程《火车头采集ajax数据 》。

第一步:分析

上面说了,百度的站内搜索返回的是json字符串,那么只要我们找到这个发送请求的地址,接收返回的值,对值进行处理就可以了。

第二步:获取请求的参数值

为了得到返回的json值,我们要找到提交的地址。在这里,可能有很多小伙伴想到了,火狐的firebug。我也尝试了,可是没有得到我想要的信息。

于是,我就在网上下载了一个抓包工具,Fiddler软件。百度软件库里就有。下载之后,打开软件,在浏览器搜索框中,输入你要搜索的内容。【回车】之后,你在fiddler里面查看,获取的数据。如下图:

第三步:分析抓包工具返回的数据。

1) 图中标记1的区域,是我们发现的百度站内搜索的地址。

2) 图中标记2的区域,是我们获取到的地址链接里面的所有参数。

3) 图中标记3的区域,是我们看到的百度站内搜索返回过来的json字符串。

那么,我们想要获取的三个元素,第一,地址有了;第二,参数有了;第三,返回的json数据也有了

有了这三个必要的条件,我们只要将,需要的参数组装成自己想要的参数链接,扔给百度,我们得到想要的值就好了嘛。

第四步:将获取的参数,组装成想要的请求网址。我这边是用php模仿get请求的方式。下面的代码的核心地方就是,我们要模拟一个referer值,相当于百度的令牌,你要是没有的话,百度是不会把数据返回给你的。

代码如下:

  1. <?php
  2. 下图中的参数,是根据实际中需要填写的,这里是最基础的代码,自行修改。
  3. $ch = curl_init();
  4. $timeout = 5;
  5. curl_setopt ($ch, CURLOPT_URL, &lsquo;http://www.shuchengxian.com/');
  6. curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
  7. curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
  8. $file_contents = curl_exec($ch);
  9. curl_close($ch);
  10. echo $file_contents;
  11. ?>

如上图所示:重要的几个参数,都标记出来了。代码上传不了,很忧伤,只能发图。

q  --->  我们搜素的关键字

cc----> 我们要采集网站的网址

p-----> 分页的代码,从0开始的。

第五步:我们在浏览器段,执行我们的数据。

如图所示:

图中红色标记的地方,就是json字符串的字段名。现在我们值都可以获取到了,那么就把他放入火车头吧。

第六步:将文件放入火车头中采集。

如图:

这里的添加页数的变量,可以在程序的页面,将P后面的参数,改为变量,就可以了。

如上图所示,我们就拿到了,我们想要采集的数据网址,然后你可以将火车头数据库中的网址,全部的提取出来,组装成链接,就可以开始采集数据了。

终于写完了,火车采集ajax数据,采集百度站内搜索,就是这样的。

火车采集器如何采集ajax数据和百度站内搜索数据相关推荐

  1. 后羿采集器怎么导出数据_后羿采集器如何采集历史天气数据这类直接就是表格的数据?...

    感谢邀请,废话不多,直接上操作视频~八爪鱼采集器智能采集天气网https://www.zhihu.com/video/1129681164935540736 我试了一下,楼主说的问题确实存在,同时我对 ...

  2. 后羿采集器怎么导出数据_后羿采集器如何采集亚马逊评论

    很多人不清楚后羿采集器如何采集亚马逊评论以及后裔采集器有什么作用,下面就让一米软件来给大家说一说. 后羿采集器一款真免费的爬虫软件,使用后羿采集器导出数据到本地文件和数据库没有数量限制,不要钱不要积分 ...

  3. URL采集器-关键词采集

    URL采集器-关键词采集 Msray-plus,是一款采用GO语言开发的企业级综合性爬虫/采集软件. 关键词:搜索引擎结果采集.域名采集.URL采集.网址采集.全网域名采集.CMS采集.联系信息采集 ...

  4. SSCMS采集,SiteServer采集插件【.NET版】,SSCMS文章采集器【采集教程】

    SSCMS采集,SiteServer(SSCMS)是中国.NET平台CMS系统创始者!同时也是唯一一款开源免费的企业级CMS系统,但是市面上很少支持SSCMS文章数据采集的采集器,有基本都是需要马内的 ...

  5. wordpress采集器-wordpress采集器安装下载教程

    wordpress采集器可以批量采集伪原创发布到wordpress网站上吗?有了这款wordpress采集器我们应该怎么把企业站优化好?[附下载],网站seo基础也需要考虑,比如URL优化.因为如果U ...

  6. 八爪鱼 八爪鱼采集器四大采集模式

    八爪鱼采集器四大采集模式 1.简易模式 2. 自定义采集 3.智能采集 立即使用    ----   使用智能模式采集 4.向导模式 立即使用   ---   使用向导模式采集 四个模式各有优缺点 , ...

  7. ajax+lucene pdf,基于Ajax/Lucene的站内搜索技术研究

    摘要: 站内搜索引擎是找出网站重要信息的必要工具,高效的站内搜索将有助于提升网站的价值,发挥网站应有的作用.虽然现在一些网络巨头已开始研究并应用这类工具,但整个互联网行业中,受制于技术的门槛,真正的站 ...

  8. 用全文检索构建站内搜索和大数据搜索引擎

    全文检索首先对要搜索的文档进行分词,然后形成索引,通过查询索引来查询文档.全文检索是目前搜索引擎,大数据搜索的关键技术.全文检索系统可实现亚秒级的检索速度以及每秒上百次的并发检索支持. 需求: 实现淘 ...

  9. pandas创建时间序列仿真数据并过滤(filter)时间数据:头尾数据、某年的数据、某年某月的数据、某年某月某日的数据、某个时间范围内的数据、truncate函数查看特定时间之前护着之后的数据

    pandas创建时间序列仿真数据并过滤(filter)时间数据:头尾数据.某年的数据.某年某月的数据.某年某月某日的数据.某个时间范围内的数据.truncate函数查看特定时间之前护着之后的数据 目录

  10. 使用火蜘蛛采集器Firespider采集天猫商品数据并上传到微店

    有很多朋友都需要把天猫的商品迁移到微店上去.可在天猫上的商品数据非常复杂,淘宝开放接口禁止向外提供数据,一般的采集器对ajax数据采集的支持又不太好. 还有现在有了火蜘蛛采集器,经过一定的配置,终于把 ...

最新文章

  1. C# 异步读取数据库里面的数据与绑定UI的解决办法
  2. [PKUWC2018]随机算法
  3. 打死都要记住!微服务架构的常用设计模式!
  4. Mybatis中mapper接口里方法重载的实现
  5. 服务器连接工具mat_将个人笔记本改造成Linux简易服务器
  6. pt-table-checksum使用实践
  7. linux下lsof命令,Linux lsof命令使用详解
  8. 编程基础(五)—— 虚拟内存
  9. linux查看虚拟内存使用,Linux 使用 vmstat 查看虚拟内存状态
  10. 网络安全阶段一学习笔记
  11. 技术发展杂谈——RTC、WebRTC、VP9(2018年的文章)
  12. 基于图神经网络的图像分类,遥感图像分析
  13. Java Logging之JUL系列——Log Levels
  14. 《费曼学习法》读书笔记
  15. Axure制作幻灯片轮播案例
  16. API 接口监控产品全新改版,免费开放全部功能
  17. iMX6ul开发指导
  18. iOS定位从 “始终”定位,改变成“使用期间”定位
  19. VBA代码实例---Msgbox函数及应用实例
  20. 内嵌汇编(ARM64)

热门文章

  1. 我每年得忽悠10万程序员上车
  2. PHP工程师接私单操作流程
  3. 热血格斗场(二分法+STL运用)
  4. GEE-Python遥感大数据分析、管理与可视化实践技术
  5. 《GPU编程与CG语言之阳春白雪下里巴人》 读书笔记1
  6. c语言程序设计对称字符串,清华大学C语言程序设计 L13_字符串精选.pdf
  7. java图书馆登陆代码_Java实现图书馆管理系统代码
  8. 6,Java毕向东百度云盘
  9. 渗透技巧总结、渗透技巧
  10. 总结DH密钥协商(会话密钥)