(四)基于Python面向对象简单爬虫Ajax数据爬取---今日头条图片数据

一、Ajax简介

Ajax = 异步 JavaScript 和 XML 或者是 HTML(标准通用标记语言的子集)。

Ajax 是一种用于创建快速动态网页的技术。

Ajax 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。

Ajax 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。

二,基本库

import requests
#构造完整链接URL
from urllib.parse import   urlencode

import json
import  os

 

三、逻辑分析

怎么样判断该网页使用了Ajax技术,尔不是静态网页。

x-requested-with:XMLHttpRequest

1、访问今日头条网站:https://www.toutiao.com/,鼠标右击网页页面检查或者直接按F12,打开Chrome浏览器打开开发工具,切换到Network选项卡,随后重新刷新页面,可以发现这里出现了非常多的条目,如下图所示:

 **** ajax技术的核心是XMLHttpRequest对象(简称XHR),继续找到XHR,选中它,这个选项里的就是动态页面(使用Ajax技术),还可以在今日头条的搜索栏搜索验证,比如搜索一下标题结果中的“街拍”两个字,可以发现在这个请求中有很多匹配的的结果。说明这些内容是由Ajax所加载的。一个页面写明了x-requested-with:XMLHttpRequest,页面由由Ajax所加载。

2.下面就可以分析Ajax请求了,Ajax的数据类型为xhr,这边可以在上面选择XHR,这样显示出来的就都是ajax请求,将网页从上拉到最下,可以看见请求逐渐变多。点击第一个请求,可以在右边看到显示出了不同的信息。

3.复制一下右边的Request URL,可以看到返回了json数据,所以我们的第一步就是分析请求URL,获取返回的JSON数据。点击每个Ajax请求时,可以看到他们的Request URL参数基本相同,唯一有变化的是offset,变化规律为每次多20,所以我们在实现方法是,传入offset作为参数。然后请求的方式为GET。

如下图:

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值