js抓取网页内容(《新浪新闻》国内新闻页静态网页数据红框函数)
优采云 发布时间: 2021-09-10 18:13js抓取网页内容(《新浪新闻》国内新闻页静态网页数据红框函数)
昨天有个朋友来找我。新浪新闻国内新闻版面。其他部分是静态网页,但左下方的最新消息部分不是静态网页,也没有json数据。让我帮你抓住它们。 大概看了一下,是js加载的,数据在js函数里,很有意思,分享给大家看看!
获取目标
我们今天的目标是上图的红框部分。首先我们确定这部分内容不在网页源码中,属于js加载的部分,点击翻页后没有json数据传输!最后,如果你的时间不是很紧,想快速提高,最重要的是你不怕吃苦。建议你联系魏:762459510,真的很好。许多人进步很快。你需要害怕困难。 !大家可以去添加看看~
但是发现有一个js请求,点击请求,是一行js函数代码,我们复制到json的view viewer,然后格式化看看结果
发现可能有我们需要的内容,比如url、title、intro这3个参数,猜测是对应的新闻网址、标题、介绍
只是它的内容,需要处理,我们写在代码里看看
开始写代码
先导入库,因为需要截取字符串的最后一部分,所以使用requests库来获取请求,重新匹配内容。然后我们先匹配上面的3个item
如你所见,url中有\\,标题和介绍都是\\u4e09的形式。这些是我们需要处理的后续步骤!最后,如果你的时间不是很紧,想快速提高,最重要的是你不怕吃苦。建议你联系魏:762459510,真的很好。许多人进步很快。你需要害怕困难。 !可以去添加看看~
先用replace函数去掉url中的\\,就可以得到url,下面\\u4e09是unicode编码,可以直接解码内容,直接写代码
使用eval函数进行解码,解码内容可以是u"+unicode编码内容+"!
这样就把这个页面上所有的新闻和URL相关的内容都取出来了,在外层加了一个循环来爬取所有的新闻页面,任务完成!
后记
新浪新闻的页面js功能比较简单,可以直接抓取数据。如果是比较复杂的功能,就需要了解前端知识。这就是学习爬虫需要学习前端知识的原因!最后,如果你的时间不是很紧,想快速提高,最重要的是你不怕吃苦。建议你联系魏:762459510,真的很好。许多人进步很快。你需要害怕困难。 !可以去添加看看~
ps:上面使用的json查看器是第三方网站,你可以直接百度找很多,当然你也可以直接修改上面抓包的内容,然后用json读取数据!
基本代码不多。有看不清楚的小伙伴可以私信我获取代码或者一起研究爬虫!