jsoup微信公众号文章标题、发布时间、作者、封面图片的爬取

在做项目时候遇到一个需求,后台添加微信公众号上面的文章时候能自动获取到这篇文章的标题、发布时间、封面图片,这样就不用手动去添加太多的信息,只需要一个url就够了。所以用jsoup做了一个简单的爬虫,根据文章的url获取这些信息。

原理

封面图片:
随便选择一个微信公众号,例如:
在这里插入图片描述
如图上所示就是文章的封面图片,这些封面图片大多在原文里是有的。但是,像上面这两篇文章,原文里是没有封面图的。但是在文章源码下面的script里藏着封面图片的url:
在这里插入图片描述
而且“msg_cdn_url"是唯一字符串,所以,获取封面图片就是要定位到“msg_cdn_url"就可以了。代码见后面。

文章发表时间:
点开文章进去是没有发表时间的,其实是隐藏在这图上这里,点一下就会变成年月日,所以无法直接通过页面定位到这里获取时间。
在这里插入图片描述
在这里插入图片描述
但是既然点一下就能变成时间那说明时间是有的,只是在script里面,接下来就可以在源码里用crtl+F查找时间“2020-04-28”,定位到时间所在的script位置。
在这里插入图片描述
经过观察可以发现这里其实没法直接定位,所以得用点间接方法。循环遍历所有的script标签,查看里面是否包含字符串"document.getElementById(“publish_time”)",如果有,则在这个script里定位到“s="”,这样就找到了时间的位置。
其他像“作者”、“标题”那些比较简单,直接见代码

import java.io.IOException;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值