获取新浪微博“展开全文”的完整文本

在个人主页的响应中,这篇微博的表示形式是这样的:

<div class=\"WB_text W_f14\" node-type=\"feed_list_content\" nick-name=\"Vista看天下\">\n                     【一堂课让柳传志大呼过瘾,千字长文力挺湖畔大学】11月20日晚,柳传志发布千字长文《为湖畔大学正名》,力挺湖畔大学。他提到,在湖畔大学上课,是找到了“知音”,参加各种论坛、座谈、讲课30余年,印象最深的就是在湖畔大学上课。柳传志发自内心地认为,湖畔大学是在培养扶植真正代表中国的企业家, ​​​​...<a target=\"_blank\" href=\"//weibo.com/1323527941/Fw5poB1mb\" class=\"WB_text_opt\" suda-uatrack=\"key=original_blog_unfold&value=click_unfold:4176472908823355:1323527941\" action-type=\"fl_unfold\" action-data=\"mid=4176472908823355&is_settop&is_sethot&is_setfanstop&is_setyoudao\">展开全文<i class=\"W_ficon ficon_arrow_down\">c</i></a>                                            </div>

在点击“展开全文”的时候,可以看到控制台新增了这样一条请求:

请求的格式为:"https://weibo.com/p/aj/mblog/getlongtext?ajwvr=6&"+ action-data +"&__rnd=1511181643288"

rnd代表当前时间的毫秒数,可以不做修改。

在浏览器中复制请求网址,得到如下的页面:

因此利用模拟浏览器访问目标网址的方式,来获取到这段文字。在这里利用JSONObject解析json,利用jsoup解析html。

Document doc = (Document) Jsoup.parse(s);
Elements select = doc.getElementsByClass("WB_text W_f14");//微博个人主页的每一条博文所在的class//遍历每一个元素
for (Element element : select) {if (element.text().contains("展开全文")) {
//获取这个元素所在div中的action-data属性,来拼接需要访问的URL
String attr = element.select(".WB_text_opt").attr("action-data");String longTextUrl = "https://weibo.com/p/aj/mblog/getlongtext?ajwvr=6&"+attr+"&__rnd=1511181740414";
//创建连接
HttpURLConnection conn = DownLoadPage.connectUrl(longTextUrl);// 打开连接conn.connect();StringBuffer sb = new StringBuffer();// 打开这个网站的输入流InputStream inputStream = conn.getInputStream();BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream));String temp = null;while ((temp = bufferedReader.readLine()) != null) {sb.append(temp);}
//解码,否则会出现乱码的情况
String decodeUnicode = DownLoadPage.decodeUnicode(sb.toString());//System.out.println(decodeUnicode);JSONObject json = JSONObject.fromObject(decodeUnicode);String ss = json.getString("data");String sss = JSONObject.fromObject(ss).getString("html");Document docc = (Document) Jsoup.parse(sss);System.out.println(docc.text());}else{System.out.println(element.text());}
}

java爬取新浪微博带有“展开全文”的完整微博文本相关推荐

  1. 爬取新浪微博用户的个人信息和微博内容

    #-*- coding:utf-8 -*-""" 爬取新浪微博的用户信息 功能:用户ID 用户名 粉丝数 关注数 微博数 微博内容 网址:www.weibo.cn 数据量 ...

  2. python爬取指定时间,指定关键词的微博文本

    根据关键词爬取微博文本 首先导入所使用的库 from selenium import webdriver from lxml import html from urllib import parse ...

  3. java爬取新浪微博登陆_30行jsoup代码搞定新浪微博登录抓取爬虫

    主要是设置cookies 想知道方法的朋友可以留言哦 爬虫问题都可以探讨哦 import java.io.IOException; import java.util.HashMap; import j ...

  4. Java开源爬虫框架WebCollector—爬取新浪微博

    本教程给出了一个使用WebCollector模拟登陆并爬取新浪微博的示例.登录过程中会出现验证码.如图所示: 1.依赖jar包: 本教程需要两套jar包,WebCollector核心jar包和sele ...

  5. 从新浪微博搜索站点中超大批量爬取新浪微博内容方法和核心源码(java)

    最近做项目需要从新浪微博中大批量爬取新浪微博数据,当然大家熟知的方法就是使用API来获取数据,但是这样有个限制,只能搜索相应用户的home_timeline,不能按关键字大批量(几十万甚至百万千万级别 ...

  6. 爬取新浪微博新闻,包括模拟登陆,数据存储等!最适合新手的教程

    写在最开头 该程序主要是为爬取新浪微博,想要搜索的信息,主要报错的信息为文本,其他元素未涉及,此外微博博主信息,笔者也不关注,时间等信息同样不关注,主要目的就是获取文本信息.因此,本着对读者同样同样也 ...

  7. 爬取新浪微博新闻(selenium),包括模拟登陆,数据存储等(适合初学者)

    爬取新浪微博(模拟登陆,数据存储) 写在最开头 下载浏览器驱动 测试驱动是否匹配/font> 模拟登陆 分析待爬取页面信息 保存数据 程序github地址 写在最开头 该程序主要是为爬取新浪微博 ...

  8. Python爬虫与信息提取(五)爬虫实例:爬取新浪微博热搜排名

    经过一段时间的Python网络爬虫学习,今天自己摸索制作了一个能够爬取新浪微博实时热搜排名的小爬虫 1.效果: 2.制作过程中遇到的问题: (1)一开始研究微博热搜页面的源代码时忽略了<tbod ...

  9. python爬虫——scrapy+selenium爬取新浪微博及评论

    本文主要对爬取过程中所用到的知识做简单总结,最后有项目链接. 一.项目简介 本项目利用python的scrapy框架+selenium模拟登陆微博来爬取带有关键字的微博及微博下面的评论(1 .2级评论 ...

最新文章

  1. 聊一聊我认识的Linux系统
  2. 跨链原子互换时代来临,BCH潜力无限!
  3. Android渗透测试Android渗透测试入门教程大学霸
  4. python简单入门代码-Python入门 | IDLE的介绍和使用方法
  5. 使用正则移除尖括号中的指定子字符串
  6. hdu 4831(线段树---待解决)
  7. qt 在点击菜单下的动作之后获取该菜单的名称
  8. Java Hessian小试(转)
  9. java数组是否包含某字符串_js判断数组是否包含某个字符串变量的实例
  10. 201521123017 《Java程序设计》第4周学习总结
  11. 最不像地球的45个地方,你见过几个?
  12. first review of team blog(4.26)
  13. paginatorhelper ajax,Bootstrap Paginator+PageHelper实现分页效果_蓝瞳_前端开发者
  14. IDEA 设置护眼色RGB值
  15. struts+spring+mybatis介绍
  16. 7个Python实战项目(附源码),拿走就用
  17. c2000 电阻采样_常用超低阻值采样电阻阻值一览表
  18. DRP项目知识点一: 数据库连接-封装Connection
  19. 【Unity3D】资源文件 ③ ( Unity 资源包简介 | 导出 Unity 资源包 | 导出资源包的包含依赖选项 | 导入 Unity 资源包 | Unity 资源商店 )
  20. Node的数据库编程

热门文章

  1. Delphi 2005 失望的尝鲜!
  2. 为什么我电脑在线看黄色很慢_为什么我的电脑这么慢?
  3. 苹果2022春季新品发布会 苹果春季新品发布会直播地址
  4. Java图形界面开发—简易登录注册小程序
  5. ppt转换成pdf格式转换器怎么使用
  6. Davinci DM6446开发攻略——DSP开发工程建立
  7. 离散数学-传递闭包的代码计算
  8. 使用Selenium爬取网易云音乐的所有排行榜歌曲
  9. 基于流量分析的安全检测解决方案
  10. 程序员复工后被裁,600万房21000房贷无力偿还,给年轻人3点忠告