昨天有小伙伴找我,新浪新闻的国内新闻页,其他部分都是静态网页可以抓到,但是在左下方的最新新闻部分,不是静态网页,也没有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,从js函数中取数据的过程相关推荐

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

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

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

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

  3. 【python爬虫学习记录 持续更新】多线程多进程,带线程池爬取实例

    文章目录 简介 多线程codingFrame 多进程codingFrame 线程池与进程池 线程池爬取实例(主页url隐了 主要看思路 和如何使用线程池框架) 简介 进程是资源单位 线程是执行单位 每 ...

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

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

  5. python 爬虫学习:抓取智联招聘网站职位信息(二)

    在第一篇文章(python 爬虫学习:抓取智联招聘网站职位信息(一))中,我们介绍了爬取智联招聘网站上基于岗位关键字,及地区进行搜索的岗位信息,并对爬取到的岗位工资数据进行统计并生成直方图展示:同时进 ...

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

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

  7. 新手python爬虫代码_新手小白必看 Python爬虫学习路线全面指导

    爬虫是大家公认的入门Python最好方式,没有之一.虽然Python有很多应用的方向,但爬虫对于新手小白而言更友好,原理也更简单,几行代码就能实现基本的爬虫,零基础也能快速入门,让新手小白体会更大的成 ...

  8. python爬虫学习之路

    python爬虫学习之路 第一章:爬虫基础 1.爬虫前奏 爬虫的实际例子: 1.搜索引擎(百度.谷歌.360搜索等.) 2.伯乐在线 3.惠惠购物助手 4.数据分析与研究(数据冰山知乎专栏). 5.抢 ...

  9. python爬虫学习笔记 1.9 (Handler处理器 和 自定义Opener)

    python爬虫学习笔记 1.1(通用爬虫和聚焦爬虫) python爬虫学习笔记 1.2 ( HTTP和HTTPS ) python爬虫学习笔记 1.3 str和bytes的区别 python爬虫学习 ...

  10. Python爬虫学习——开始一个小爬虫(一)

    Python爬虫学习 文章目录 Python爬虫学习 前言 一.什么是爬虫 爬虫的矛与盾 二.开启一个小爬虫 1.导入urlopen包 2.打开一个网址,得到响应 3.解码 4.保存到文件 5.打开 ...

最新文章

  1. php 前端控制器,前端控制器模式
  2. 将Node.js升级到最新版本
  3. MySQL第13天:索引优化
  4. php网站挂linux,Linux环境下php实现给网站截图的方法
  5. Redis进阶 - Redis主从工作原理详解
  6. vue深究第一弹:computed与watch的异同
  7. 网站总结 和 相关控件 总结
  8. 教你用 3 台机器搞定一个 Redis 高可用架构
  9. rails jquery_Spring与Rails的jQuery UJS
  10. 第一章 计算机网络 1 计网体系结构的概念和功能 [计算机网络笔记]
  11. Mysql相关问题收集
  12. Java 算法 能量项链
  13. node path html模块,深入理解node.js之path模块
  14. 用python输出所有的玫瑰花数_用Python爬取WordPress官网所有插件
  15. 国外软件测试方法,ATE软件测试方法研究及实现
  16. python电脑下载什么软件-python官网有几个下载文件?有什么不同?
  17. 黑盒测试的常见测试方法
  18. python box2d模拟平抛运动_[HTML5]使用Box2dWeb模拟飞行箭矢
  19. 原创 | 从土地财政到数据财政
  20. 03 三维地图添加切片图层

热门文章

  1. 硅谷大佬们屡次推荐的10本书,你看过几本?
  2. module_init和module_exit的作用
  3. DroidCamX:合体手机与电脑
  4. 汉堡王 VS 麦当劳营销对战
  5. 传动系统结构简图_液压传动系统结构示意图画图技巧(攻略)
  6. ShellExecuteEx and SHELLEXECUTEINFO and ShellExecute
  7. 微信支付?一起观摩Safesound勒索病毒的骚操作
  8. linux服务器上的cad病毒,LibreCAD_LibreCAD下载[2021官方最新版]LibreCAD安全下载_ 极速下载...
  9. 如何批量查询身份证号码地址归属地,身份证性别男女,星座,身份证生肖,身份证年龄以及身份证是否校验合法,一篇文章介绍清楚
  10. 善用佳软:高效能人士的软件应用之道