昨天有小伙伴找我,新浪新闻的国内新闻页,其他部分都是静态网页可以抓到,但是在左下方的最新新闻部分,不是静态网页,也没有json数据,让我帮忙抓一下。大概看了下,是js加载的,而且数据在js函数中,很有意思,就分享出来给大家一起看看!

抓取目标

今天我们的目标是上图红框部分,首先我们确定这部分内容不在网页源代码中,属于js加载的部分,点击翻页后也没有json数据传输!

但是发现有个js的请求,点击请求,是一行js函数代码,我们将其复制到json的视图查看器中,然后格式化一下,看看结果

发现里面有可能存在我们需要的内容,比如url、title、intro这3个参数,猜测就是对应的新闻URL、标题、简介

只是其内容,需要在进行处理一下,我们写到代码中看看

开始写代码

先导入库,因为最终需要从字符串中截取部分,所以用requests库获取请求,正则re匹配内容即可。然后我们先匹配出上述3项

可以看到,url中存在\\,标题和简介是以\\u539f\\u6807\\u9898的形式存在,这些就是我们需要处理的下一步了!

先用replace函数提出url中\\,即可得到url,后面的\\u539f\\u6807\\u9898则是unicode编码,可以直接解码得到内容,直接写代码了

解码用了eval函数,内容为u'unicode编码内容'的形式即可解码!

这样,就取出了本页的所有新闻和URL的相关内容,在外层加上循环,即可抓取所有的新闻页,任务完成!

后记

新浪新闻的页面js函数比较简单,可以直接抓到数据,如果是比较复杂的函数的话,就需要深入理解前端知识了,这也是为什么学爬虫,需要学习前端知识的原因!

ps:上文所用的json查看器是第三方的网站,直接百度即可找到很多,当然也可以直接将上述抓包的内容修改,然后用json读取数据也是可以的!

基本代码没有多少,如果有看不清楚的小伙伴,可以私信我获取代码或者一起研究爬虫哦!

python从js文件中取数据_Python爬虫学习,记一次抓包获取js,从js函数中取数据的过程...相关推荐

  1. python爬取js加载的数据_Python爬虫学习,记一次抓包获取js,从js函数中取数据的过程...

    昨天有小伙伴找我,新浪新闻的国内新闻页,其他部分都是静态网页可以抓到,但是在左下方的最新新闻部分,不是静态网页,也没有json数据,让我帮忙抓一下.大概看了下,是js加载的,而且数据在js函数中,很有 ...

  2. js与python 抓包_Python爬虫学习,记一次抓包获取js,从js函数中取数据的过程

    昨天有小伙伴找我,新浪新闻的国内新闻页,其他部分都是静态网页可以抓到,但是在左下方的最新新闻部分,不是静态网页,也没有json数据,让我帮忙抓一下.大概看了下,是js加载的,而且数据在js函数中,很有 ...

  3. python爬虫爬取京东_Python爬虫学习 爬取京东商品

    1. 本节目标 以抓取京东 App 的商品信息和评论为例,实现 Appium 和 mitmdump 二者结合的抓取.抓取的数据分为两部分:一部分是商品信息,我们需要获取商品的 ID.名称和图片,将它们 ...

  4. python爬虫抖音_Python 爬虫——抖音App视频抓包

    APP抓包 前面我们了解了一些关于 Python 爬虫的知识,不过都是基于 PC 端浏览器网页中的内容进行爬取.现在手机 App 用的越来越多,而且很多也没有网页端,比如抖音就没有网页版,那么上面的视 ...

  5. 获取iframe嵌套页面的数据_爬虫学习十二之案例开发获取搜索页面数据

    准备一个定时任务 准备一个运行类 将之前封装的HttpClient拿过来,放到一个utils包中 编写定时类的定时方法 我们在京东中搜索手机,可以看到URL 点击下一页,观察URL的变化 其中page ...

  6. 如何在Windows系统上用抓包软件Wireshark截获iPhone等网络通讯数据

    http://www.jb51.net/os/windows/189090.html 今天给大家介绍一种如何在Windows操作系统上使用著名的抓包工具软件Wireshark来截获iPhone.iPa ...

  7. python使用statsmodels包中的tsa.acf函数计算时间序列数据所有滞后位置个数(级别)的自相关性、tsaplots函数可视化时间序列数据所有滞后位置个数(级别)的自相关性

    python使用statsmodels包中的tsa.acf函数计算时间序列数据所有滞后位置个数(级别)的自相关性.tsaplots函数可视化时间序列数据所有滞后位置个数࿰

  8. C语言程序设计联系题 编写一个函数,由实参传来一个字符串,统计此字符串中的字母、数字、空格和其他字符的个数,在主函数中输入字符串以及输出上述结果。

    编写一个函数,由实参传来一个字符串,统计此字符串中的字母.数字.空格和其他字符的个数,在主函数中输入字符串以及输出上述结果. #include<stdio.h> #include<s ...

  9. python 读取excel文件 效率 时间 格式_python读取Excel文件中的时间数据

    在使用python读取Excel文件中的时间格式,碰到的时间格式转换问题: 读取这样的表格: 输出这样的数据结果: 然而这样的结果却不是我们想要的,我们需要的是这样的结果: 1.安装python官方库 ...

  10. python爬取今日头条后台数据_Python爬虫实战入门五:获取JS动态内容—爬取今日头条...

    之前我们爬取的网页,多是HTML静态生成的内容,直接从HTML源码中就能找到看到的数据和内容,然而并不是所有的网页都是这样的. 有一些网站的内容由前端的JS动态生成,由于呈现在网页上的内容是由JS生成 ...

最新文章

  1. 【文本分类】基于改进CHI和PCA的文本特征选择
  2. 交互神器 Facebook Origami
  3. java converttostring_由 ToString()和Convert.ToString() 引发的问题
  4. 参加开发竞赛遇到的问题【总结】
  5. spring学习(23):基础组件
  6. 小程序 获取腾讯地图计算两经纬度的实际距离(可批量)_多地打卡
  7. js html 转换为富文本,如何将富文本得到的html转换为pdf?
  8. CVPR 2020|华为发布基于连续进化的CARS算法,0.4GPU天输出帕累托前沿
  9. 线性表—顺序存储结构-顺序表
  10. 教你如何用Keras搭建分类神经网络
  11. 连接Android与ASP.NET Core Web API的完整教程
  12. Jquery中parentsUntil函数调用最容易犯的三个错误
  13. Redis集群原理简述
  14. WORD中图、表、公式自动编号及制表位、尾注的应用
  15. 分布式的Key-Value存储系统voldemort
  16. “七夕情歌会 缘聚红豆峡” 红豆峡第15届情歌会圆满结束
  17. Cesium开发基础篇 | 04空间数据可视化之Entity
  18. Python 3.x + 阿里云SDK 实现DDNS
  19. Graphics.FromImage报错“Graphics object cannot be created from an image that has an indexed pixel ...”
  20. 学习Python的代码记录

热门文章

  1. Spring——依赖注入的三种方式
  2. HihoCoder 1511: 树的方差(prufer序)
  3. [网络流24题] 试题库问题
  4. C#使用 OleDbConnection 连接读取Excel
  5. 洛谷P1005 矩阵取数游戏
  6. window下的git工具msysgit的使用
  7. 打开struts-config.xml 报错 解决方法Could not open the editor
  8. SqlServer 存贮过程操作类
  9. [URAL]1014 The Product of Digits
  10. 一个简单的MDX案例及说明 (转载)