python爬取js加载的数据_Python爬虫学习,记一次抓包获取js,从js函数中取数据的过程...
昨天有小伙伴找我,新浪新闻的国内新闻页,其他部分都是静态网页可以抓到,但是在左下方的最新新闻部分,不是静态网页,也没有json数据,让我帮忙抓一下。大概看了下,是js加载的,而且数据在js函数中,很有意思,就分享出来给大家一起看看!
抓取目标
今天我们的目标是上图红框部分,首先我们确定这部分内容不在网页源代码中,属于js加载的部分,点击翻页后也没有json数据传输!
但是发现有个js的请求,点击请求,是一行js函数代码,我们将其复制到json的视图查看器中,然后格式化一下,看看结果
发现里面有可能存在我们需要的内容,比如url、title、intro这3个参数,猜测就是对应的新闻URL、标题、简介
只是其内容,需要在进行处理一下,我们写到代码中看看
开始写代码
先导入库,因为最终需要从字符串中截取部分,所以用requests库获取请求,正则re匹配内容即可。然后我们先匹配出上述3项
可以看到,url中存在 \ \,标题和简介是以\ \ u4e09的形式存在,这些就是我们需要处理的下一步了!
先用replace函数剔除url中\ \,即可得到url,后面的\ \ u4e09则是unicode编码,可以直接解码得到内容,直接写代码了
解码用了eval函数,内容为u“ + unicode编码内容 + “的形式即可解码!
这样,就取出了本页的所有新闻和URL的相关内容,在外层加上循环,即可抓取所有的新闻页,任务完成!
后记
新浪新闻的页面js函数比较简单,可以直接抓到数据,如果是比较复杂的函数的话,就需要深入理解前端知识了,这也是为什么学爬虫,需要学习前端知识的原因!
ps:上文所用的json查看器是第三方的网站,直接百度即可找到很多,当然也可以直接将上述抓包的内容修改,然后用json读取数据也是可以的!
基本代码没有多少,如果有看不清楚的小伙伴,可以私信我获取代码或者一起研究爬虫哦!
python爬取js加载的数据_Python爬虫学习,记一次抓包获取js,从js函数中取数据的过程...相关推荐
- js与python 抓包_Python爬虫学习,记一次抓包获取js,从js函数中取数据的过程
昨天有小伙伴找我,新浪新闻的国内新闻页,其他部分都是静态网页可以抓到,但是在左下方的最新新闻部分,不是静态网页,也没有json数据,让我帮忙抓一下.大概看了下,是js加载的,而且数据在js函数中,很有 ...
- layui 如何动态加载局部页面_python爬虫入门实战(四)!爬取动态加载的页面!
今天的主题是爬取动态网页的经验分享,以cocos论坛为例子进行分享.(官方不会打我吧 ) 配置环境 为什么选择cocos论坛呢?因为自己在浏览论坛时,发现标题内容会随着滚动条的位置而动态添加. 环境: ...
- python爬虫抖音_Python 爬虫——抖音App视频抓包
APP抓包 前面我们了解了一些关于 Python 爬虫的知识,不过都是基于 PC 端浏览器网页中的内容进行爬取.现在手机 App 用的越来越多,而且很多也没有网页端,比如抖音就没有网页版,那么上面的视 ...
- 获取iframe嵌套页面的数据_爬虫学习十二之案例开发获取搜索页面数据
准备一个定时任务 准备一个运行类 将之前封装的HttpClient拿过来,放到一个utils包中 编写定时类的定时方法 我们在京东中搜索手机,可以看到URL 点击下一页,观察URL的变化 其中page ...
- python爬虫动态加载页面_Python+Selenium爬取动态加载页面(2)
注: 上一篇<Python+Selenium爬取动态加载页面(1)>讲了基本地如何获取动态页面的数据,这里再讲一个稍微复杂一点的数据获取全国水雨情网.数据的获取过程跟人手动获取过程类似,所 ...
- 如何在Windows系统上用抓包软件Wireshark截获iPhone等网络通讯数据
http://www.jb51.net/os/windows/189090.html 今天给大家介绍一种如何在Windows操作系统上使用著名的抓包工具软件Wireshark来截获iPhone.iPa ...
- python爬取js加载的数据_JS动态加载数据不会爬?老司机教你两个方法爬取想要的数据...
学习Python的人绝大部分都是在用Python做爬虫,毕竟对于爬虫而言Python是不二选. 但是一般简单的静态页面网站还是很好爬取的,对于很多动态加载的网站就不知道怎么办了,今天小编就给大家介绍两 ...
- 教你用Python爬取动态加载的数据
例子1:爬取豆瓣电影中的电影详情数据 url:https://movie.douban.com/ 1.什么是动态加载的数据: 我们通过requests模块进行数据爬取无法每次都是可见即可得,有些数据是 ...
- python 异步加载_Python学习笔记4——爬取异步加载数据
一.什么是异步加载? 在之前的学习笔记中,爬取的网页是需要手动翻页的网址,但是一些网站是通过自动加载翻页的,如knewone网页.浏览knewone的官网就能发现,当下拉到网页最下端时,网站会自动加载 ...
最新文章
- 韩国女主播被中国土豪打赏13万 差点吓晕!网友:真是没见过世面
- 华为麦芒5云空间升级_云+AI+5G 华为云联手中软国际引爆线下门店智能化升级
- 毕业3年,我换了4份工作:好工作,是这样“熬”出来的
- 2017/12/29
- 【语音识别】基于matlab GUI HMM 1~9数字语音识别(带面板)【含Matlab源码 1393期】
- Go语言编程(七牛云存储团队执笔)
- 修改Gravatar生成的默认头像
- win10如何打来计算机的工具,电脑系统教程:Win10自带解压缩文件工具如何使用
- Android创建本地文件时没有权限的怪现象
- 更换win10计算机账户,win10更换账户的方法是什么_win10换账号登录的方法
- Visual Studio 2017 智能提示英文怎么切换成中文?
- 无法连接虚拟设备 floppy0,因为主机上没有相应的设备。 您要在每次开启此虚拟机时都尝试连接此虚拟设备吗?
- 对docker一些认知
- SAP-FI 科目的统驭科目类型设置错了如何更改
- 集成电路:芯片时代的到来
- 医学影像配准 NCC Loss
- 2022 七校联合NewStarCTF 公开赛赛道 WEEK2|MISC
- 看完知乎上500条答案,我为大家整理了这21个B站学习类UP主
- Unskilled in English is looked down on by people (composition)
- 【解惑】杨中科说给弟弟的话
热门文章
- 从营销手段到商业新基建,“以旧换新”还有多少价值等待挖掘?
- 元气森林难撕“网红”标签
- python输出指定范围素数_怎么用python输出指定范围内的质数?
- python图片目标检测_图像中的目标检测(HOG)
- c++ 拷贝构造函数_禁止拷贝构造,禁止bug
- java多态和继承_Java 继承与多态的深入理解
- php oauth api,PHP实现人人OAuth登录和API调用
- Python3 中的最大整数和最大浮点数
- 10个python使用技巧
- pycharm如何修改默认浏览器?修改成chrome