网页文章采集工具(本期以采集豆瓣排名数据为例:分析(1)(图) )
优采云 发布时间: 2022-01-01 15:26网页文章采集工具(本期以采集豆瓣排名数据为例:分析(1)(图)
)
大家好,我是公众号3分钟学校的郭立。今天给大家带来数据采集源码分享。
本期以采集豆瓣排名数据为例:
分析
一、采集内容:%E5%96%9C%E5%89%A7&type=24&interval_id=100:90&action=
为任何类型的视频选择一个排名列表。
二、尝试获取网页源代码。
TracePrint url.get("https://movie.douban.com/typerank?type_name=%E5%96%9C%E5%89%A7&type=24&interval_id=100:90&action=")
三、分析返回值
发现返回值不收录排行榜的内容,说明排行榜的内容是动态加载的,无法直接读取该网址的网页源码获取。
四、抓包分析,打开浏览器按f12键刷新网页,用浏览器自带的抓包功能分析网页。
根据上图,点击network,headers,然后因为数据比较多,我们用ctrl+f搜索,搜索内容是第一部电影片名《美丽人生》,有两个搜索结果:
我们选择其中一个进行分析,先复制网址。
%3A90&action=&start=0&limit=20
我们直接分析问号后面的参数部分:
type=24 => 视频类型:24
interval_id=100%3A90 => 电影的喜欢程度:100%-90%(%3A 是冒号)
action==> 暂时无法判断是否有值,直译action可以省略
start=0 => 起始位置,从第一个开始
limit=20 => 显示多少条,最多20条
这些参数中需要从原创URL中提取视频类型:(下图红色部分)
%E5%96%9C%E5%89%A7&type=24&interval_id=100:90&action=
每个流派对应一个数字。比如喜剧是24,动作是5,其他的可以点击更多类型,一一打开网站。
五、获取网页源码
TracePrint url.get("https://movie.douban.com/j/chart/top_list?type=24&interval_id=100%3A90&action=&start=0&limit=20")
六、网页返回值:
返回值是一个json。这里的抽取是先传输到表中,再使用键值对进行抽取。如果没有在我的公众号(3分钟学)中搜索json,关于json提取的文章很多文章教程。
脚本源代码
dim json= url.get("https://movie.douban.com/j/chart/top_list?type=13&interval_id=100%3A90")
Dim table=encode.jsontotable(json)
For i = 1 To Len(table)
TracePrint table[i]["title"],table[i]["rating"][1]
Next