php爬毒鸡汤,Jsoup爬取心灵毒鸡汤

94ff20103ddf

不乱于心,不困于情。不畏将来,不念过往。如此,安好。

你的梦想是什么

之前一直在搞微博,定时转发抽奖微博,搞定后,meilexiawen。最近想想定时发点有意思的东西也不错,发啥呢?毒鸡汤,没错!

【一个人至少拥有一个梦想,有一个理由去坚强。心若没有栖息的地方,到哪里都是在流浪。 ——三毛】

开始你的表演

首先找个毒鸡汤网站,并定位关键节点。汤的成色还不错。

94ff20103ddf

心灵鸡汤

按F12,对元素分析下。选中其中一个,右键Copy selector。

94ff20103ddf

#contentinside > div.totallikecontent > div > div > div.view-content > div.views-row.views-row-1.views-row-odd.views-row-first

这样只能标识一个,好在jsoup.select支持正则。

#contentinside > div.totallikecontent > div > div > div.view-content > div[class~=^views-row]

开始编写代码。目前没发现网站有什么限制。除了.....

public void getTotallike() throws IOException {

String url = "http://www.juzimi.com/totallike";

String ua = "User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36";

Document parse = Jsoup.connect(url).userAgent(ua).execute().parse();

Elements select = parse.select("#contentinside > div.totallikecontent > div > div > div.view-content > div[class~=^views-row]");

for (Element element : select) {

String author = element.select("div > div.xqjulistwafo").text();

String content = element.select("div > div.views-field-phpcode-1 > a").text();

System.out.println(content +" "+author);

}

}

存储这些鸡汤,倒掉怪可惜的,我这里就统一放到redis里,因为只爬了15条。

ArrayList poisons = new ArrayList<>();

for (Element element : select) {

String author = element.select("div > div.xqjulistwafo").text();

String content = element.select("div > div.views-field-phpcode-1 > a").text();

System.out.println(content +" "+author);

poisons.add(content + " " + author);

}

String value = JSONObject.toJSONString(poisons);

stringRedisTemplate.opsForValue().set("Poison", value);

94ff20103ddf

先生,您的鸡汤

表演结束

94ff20103ddf

每天定时,早晚各一次

番外

因为jsoup访问网站时,没指定User-Agent时会默认带下面这个User-Agent

Request() {

super(null);

this.method = Method.GET;

this.addHeader("Accept-Encoding", "gzip");

this.addHeader("User-Agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36");

this.parser = Parser.htmlParser();

}

看着和普通PC端UA没什么区别,所以一般我都不带(用默认的)。奇怪的事就发生了。

94ff20103ddf

94ff20103ddf

基本内容和作者都是乱的,每次还不一样,不知道是不是UA的问题,我换了UA就没问题了,Mac电脑的朋友可以测测看。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值