ajax数据get请求params详解,分析Ajax请求并抓取今日头条数据

思路想法

AJAX

先简单扫盲一下什么是AJAX,个人建议如果以下提到的几个名词你都没听说过或者只简单用过,那么你最好还是回头把每一项都补一补,虽然这对写爬虫帮助不大,但是对你深入理解计算机这门学科帮助很大。须知不管是语言,还是框架都有其存在的目的,搞清楚了这些,学起东西来就相对容易了。

AJAX (Asynchronous JavaScript and XML),直译的话就是异步的JavaScript和XML。实际上,这个名字有一定的误导性:据我所知,AJAX至少还支持json文件,可能是这个技术发明的时候只有JavaScript和XML存在才这样命名的。这里的异步指的是异步加载或者异步数据交换,指的是利用XMLHttpRequst或其他fetch API在网页初步加载结束后,再次发送请求并从服务器上获取并解析数据,然后把这部分数据添加到到已有的页面上,在这个过城中,访问的URL始终没变。

AJAX本质上是一种框架,通过JavaScript可以实现部分更新网页的效果。这样可以节省互联网中的传输带宽。JavaScript是一种浏览器脚本语言,它可以通过不访问服务器达到修改客户端的目的。比如说,有的网站有很多选项,当你选了其中一个选项,会出现更多的子选项,这其实就是Javascript做的,直到你点了提交,浏览器才会和服务器交互。AJAX框架里用到的只是JavaScript众多功能的一小部分。

今日头条

Hmm...其实我也不喜欢今日头条,推送的内容越来越像UC头条了。如果你在头条页面上搜索关键词古镇,你会得到若干文章,如果你一直下拉滑动条到底部,你会发现浏览器会自动加载更多的文章,这就是AJAX的一种表现。

然而,万变不离其宗,不管是什么技术,框架,只要HTTP协议仍在使用,都跑不过GET/POST和其响应,我们要做的就是找到这条关键的GET请求。

有没有用AJAX

判断一个网站是不是用了AJAX可以从以下几点看出端倪:

最实锤的,就是用浏览器审查元素的时候,在‘Network’里过滤XHR标签。XHR应该就是XMLHttpRequest这是AJXAX的一个特征。

像今日头条这样的网站会有明显的异步加载现象(就是往下拖的时候会出现新的内容)。

查看网页源代码,注意不是审查元素。审查是看不出来的,因为有可能异步加载已经完成了,你也许可以从审查元素里找到你要的HTML结构,但它们不是requests返回的而是javascript加载的。

如果一个网页源码里充斥这各种JavaScript,而html代码很少,这种也很有可能是AJAX。

综上,其实还是很容易看出来的。

分析搜索页面

8387a5a6a599?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

toutiao-索引页分析.jpg

如图中1位置过滤XHR标签,会在位置2看到其报文。第一次访问时只有一条,随着进度条下拉,会不断出现新的请求。分析这四个报文,你可以在它的request的Header中找到参数列表

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值