网页文章采集工具(本期以采集豆瓣排名数据为例:分析(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

  

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线