实现调用微博内容的Java程序如下:(注意注释)为保护隐私运行结果就不贴出来了。
创新互联公司主要从事网站制作、做网站、网页设计、企业做网站、公司建网站等业务。立足成都服务潼关,十多年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:13518219792
import java.io.BufferedWriter;import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.util.Iterator;
import java.util.List;
import weibo4j.Timeline;
import weibo4j.model.Status;
import weibo4j.model.StatusWapper;
import weibo4j.model.WeiboException;
public class F { public static void main(String[] args) {
String userID="";//这里由于保护隐私请自己填写userID
String token="";//这里由于保护隐私请自己填写token
Timeline t=new Timeline();
t.client.setToken(token);
StatusWapper sw=null;
ListStatus status=null;
BufferedWriter bw=null;
try{
sw=t.getUserTimelineByUid(userID);
status=sw.getStatuses();
bw=new BufferedWriter(new OutputStreamWriter(new FileOutputStream("D:\\status.txt"),"gbk"));
IteratorStatus iterator=status.iterator();
Status s=null;
while(iterator.hasNext()){
s=(Status)iterator.next();
bw.write(s.toString());//这里如果只需要微博内容可以bw.write(s.getText());
bw.newLine();
bw.flush();
}
}catch(WeiboException e){
e.printStackTrace();
System.out.println(e);
}catch(FileNotFoundException e){
e.printStackTrace();
}catch(IOException e){
e.printStackTrace();
}finally{
try {
bw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
获取当前登录用户及其所关注用户的最新微博的Java程序如下:(注意注释)为保护隐私运行结果就不贴出来了。
import java.io.BufferedWriter;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.util.Iterator;
import java.util.List;
import weibo4j.Timeline;
import weibo4j.model.Status;
import weibo4j.model.StatusWapper;
import weibo4j.model.WeiboException;
public class E {
public static void main(String[] args) {
String userID="";//这里由于保护隐私请自己填写userID
String token="";//这里由于保护隐私请自己填写token
Timeline t=new Timeline();
t.client.setToken(token);
StatusWapper sw=null;
ListStatus status=null;
BufferedWriter bw=null;
try{
sw=t.getFriendsTimeline();
status=sw.getStatuses();
bw=new BufferedWriter(new OutputStreamWriter(new FileOutputStream("D:\\friends_status.txt"),"gbk"));
IteratorStatus iterator=status.iterator();
Status s=null;
while(iterator.hasNext()){
s=(Status)iterator.next();
bw.write(s.toString());//这里如果只需要微博内容可以bw.write(s.getText());
bw.newLine();
bw.flush();
}
}catch(WeiboException e){
e.printStackTrace();
System.out.println(e);
}catch(FileNotFoundException e){
e.printStackTrace();
}catch(IOException e){
e.printStackTrace();
}finally{
try {
bw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
package jsoupTest;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.jsoup.Connection.Method;
import org.jsoup.Connection.Response;
import org.jsoup.Jsoup;
public class JsoupTest {
public static void main(String[] args) throws IOException {
MapString, String map = new HashMap();
//map.put请根据自己的微博cookie得到
Response res = Jsoup.connect("别人的主页id")
.cookies(map).method(Method.GET).execute();
String s = res.body();
System.out.println(s);
String[] ss = s.split("scriptFM.view");
int i = 0;
// pl_content_homeFeed
// pl.content.homeFeed.index
ListString list = new ArrayList();
for (String x : ss) {
// System.out.println(i++ + "======================================");
// System.out.println(x.substring(0,
// x.length() 200 ? 200 : x.length()));
// System.out.println("===========================================");
if (x.contains("\"html\":\"")) {
String value = getHtml(x);
list.add(value);
System.out.println(value);
}
}
// content=ss[8].split("\"html\":\"")[1].replaceAll("(\\\\t|\\\\n)",
// "").replaceAll("\\\\\"", "\"").replaceAll("\\\\/", "/");
// content=content.substring(0,
// content.length()=13?content.length():content.length()-13);
// System.out.println(Native2AsciiUtils.ascii2Native(content));
}
public static String getHtml(String s) {
String content = s.split("\"html\":\"")[1]
.replaceAll("(\\\\t|\\\\n)", "").replaceAll("\\\\\"", "\"")
.replaceAll("\\\\/", "/");
content = content.substring(0,
content.length() = 13 ? content.length()
: content.length() - 13);
return Native2AsciiUtils.ascii2Native(content);
}
代码很简单,我这里就不多废话了,直接奉上源码:
复制代码 代码如下:
%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%
%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%
!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
html
head
base href="%=basePath%"
title喝喝/title
meta http-equiv="pragma" content="no-cache"
meta http-equiv="cache-control" content="no-cache"
meta http-equiv="expires" content="0"
meta http-equiv="keywords" content="keyword1,keyword2,keyword3"
meta http-equiv="description" content="This is my page"
!--
link rel="stylesheet" type="text/css" href="styles.css"
--
script
var imgUrl = '
var lineLink = '
var descContent = "万达狂欢节, 夺宝幸运星大抽奖活动开始啦!";
var shareTitle = '万达狂欢节';
var appid = 'wxc9937e3a66af6dc8';
function shareFriend() {
WeixinJSBridge.invoke('sendAppMessage',{
"appid": appid,
"img_url": imgUrl,
"img_width": "640",
"img_height": "640",
"link": lineLink,
"desc": descContent,
"title": shareTitle
}, function(res) {
_report('send_msg', res.err_msg);
})
}
function shareTimeline() {
WeixinJSBridge.invoke('shareTimeline',{
"img_url": imgUrl,
"img_width": "640",
"img_height": "640",
"link": lineLink,
"desc": descContent,
"title": shareTitle
}, function(res) {
_report('timeline', res.err_msg);
});
}
function shareWeibo() {
WeixinJSBridge.invoke('shareWeibo',{
"content": descContent,
"url": lineLink,
}, function(res) {
_report('weibo', res.err_msg);
});
}
// 当微信内置浏览器完成内部初始化后会触发WeixinJSBridgeReady事件。
document.addEventListener('WeixinJSBridgeReady', function onBridgeReady() {
// 发送给好友
WeixinJSBridge.on('menu:share:appmessage', function(argv){
shareFriend();
});
// 分享到朋友圈
WeixinJSBridge.on('menu:share:timeline', function(argv){
shareTimeline();
});
// 分享到微博
WeixinJSBridge.on('menu:share:weibo', function(argv){
shareWeibo();
});
}, false);
/script
/head
body
!-- script
var imgUrl = "
var lineLink = "
var descContent = '测试别当真';
var shareTitle = '分享';
var appid = 'wx1259b351c201841d';
function shareFriend() {
WeixinJSBridge.invoke('sendAppMessage',{
"appid": appid,
"img_url": imgUrl,
"img_width": "200",
"img_height": "200",
"link": lineLink,
"desc": descContent,
"title": shareTitle
}, function(res) {
//_report('send_msg', res.err_msg);
});
}
function shareTimeline() {
WeixinJSBridge.invoke('shareTimeline',{
"img_url": imgUrl,
"img_width": "200",
"img_height": "200",
"link": lineLink,
"desc": descContent,
"title": shareTitle
}, function(res) {
//_report('timeline', res.err_msg);
});
}
function shareWeibo() {
WeixinJSBridge.invoke('shareWeibo',{
"content": descContent,
"url": lineLink,
}, function(res) {
//_report('weibo', res.err_msg);
});
}
// 当微信内置浏览器完成内部初始化后会触发WeixinJSBridgeReady事件。
document.addEventListener('WeixinJSBridgeReady', function onBridgeReady() {
// 发送给好友
WeixinJSBridge.on('menu:share:appmessage', function(argv){
shareFriend();
});
// 分享到朋友圈
WeixinJSBridge.on('menu:share:timeline', function(argv){
shareTimeline();
});
// 分享到微博
WeixinJSBridge.on('menu:share:weibo', function(argv){
shareWeibo();
});
}, false);
/script --
h1呵呵呵呵/h1
/body
/html
script type="text/javascript" charset="utf-8"
(function(){
var _w = 72 , _h = 16;
var param = {
url:location.href,
type:'3',
count:'1', /**是否显示分享数,1显示(可选)*/
appkey:'', /**您申请的应用appkey,显示分享来源(可选)*/
title:'', /**分享的文字内容(可选,默认为所在页面的title)*/
pic:'', /**分享图片的路径(可选)*/
ralateUid:'', /**关联用户的UID,分享微博会@该用户(可选)*/
language:'zh_cn', /**设置语言,zh_cn|zh_tw(可选)*/
dpc:1
}
var temp = [];
for( var p in param ){
temp.push(p + '=' + encodeURIComponent( param[p] || '' ) )
}
document.write('iframe allowTransparency="true" frameborder="0" scrolling="no" src="?' + temp.join('') + '" width="'+ _w+'" height="'+_h+'"/iframe')
})()
/script
上面是分享按钮的JS 如果你要传图片 直接把 图片地址放到图片的路径上 多张图片用“|”分割 路径必须是可以在浏览器显示的完整路径 比如:
PS:好像现在这个分享按钮升级了 旧版的不行了
1、打开chrome浏览器,登录微博,进入要转发的微博下的页面。
2、按住Ctrl+Shift+I快捷键打开开发者工具,或者点击浏览器右上角,选择更多工具-开发者工具,点击Network。
3、点击转发微博,填写内容并转发该条微博。
4、这时,Network会出现若干请求,点击画红线的那个请求,forward_md=,查看详情。
5、General为报文头,FormData为发送的数据。
6、点击Console,复制下列代码到,回车执行。
7、最后附上删除微博的代码。