分析Ajax抓取今日头条街拍美图(一)

浏览: 876

1043-Python-小组:李凯旋

工具:

  • Python3.5
  • requests库(网络库)
  • BeautifulSoup(解析库)
  • MongoDB(存储库)

先解释下Ajax

Ajax 是一种用于创建快速动态网页的技术,通过在后台与服务器进行少量数据交换,Ajax可以使网页实现异步更新。就是如打开某个网页,鼠标下拉,网页又多了一部分内容,在这个过程之中只加载了多出来的那部分内容,并没有重新加载整个页面内容,这样的一项技术就是Ajax创建快速动态网页的技术。

例如:

Ajax异步加载Ajax异步加载

鼠标下拉,这个显示加载中的样式就是Ajax异步加载。

目标站点分析

输入网址URL是 http://www.toutiao.com/search/?keyword="街拍"

我们的目标是抓取街拍图集,返回图集标题、并将每一个图集的每一张子图存到项目根目录:

索引页索引页索引页详情页

点开图集后出现详情页,这就是我们要获得的其中一组图片

详情页详情页分析索引页下的网页源代码(按F12)

首先动态加载肯定不是Doc目录下的,所以应该在XHR(异步)下查找

索引页分析1索引页分析1

根据观察以及往下拉网页我们会发现有一个?offset这个标签一直在刷新,而且每次都会增加20。然后我们找到Preview查找到响应的代码,在data标签下包含图片和标题。


图中的title即是我们需要的图集标题,url即是我们需要的图集链接。

索引页分析2索引页分析2分析详情页源代码(按F12)详情页分析1详情页分析1

这组图下有8张图,每张图的链接都包含gallery这个变量字典下。
下一节,我们开始获得索引页,并解析索引页。

推荐 0
本文由 DataFrog 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。
转载、引用前需联系作者,并署名作者且注明文章出处。
本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

0 个评论

要回复文章请先登录注册