使用java代碼大量刪除新浪微博

來源:互聯網
上載者:User

標籤:url   []   users   xmlhttp   turn   cat   F12   registry   com   

首先開罵,新浪微博@#@!,不經我同意就轉寄各種微博,製造垃圾,還不提供微博大量刪除功能,擺明了的流氓行為,可恥可恨,遭人唾棄!

SSLClient.java

import org.apache.http.conn.ClientConnectionManager;import org.apache.http.conn.scheme.Scheme;import org.apache.http.conn.scheme.SchemeRegistry;import org.apache.http.conn.ssl.SSLSocketFactory;import org.apache.http.impl.client.DefaultHttpClient;import javax.net.ssl.SSLContext;import javax.net.ssl.TrustManager;import javax.net.ssl.X509TrustManager;import java.security.cert.CertificateException;import java.security.cert.X509Certificate;public class SSLClient extends DefaultHttpClient {    public SSLClient() throws Exception {        super();        SSLContext ctx = SSLContext.getInstance("TLS");        X509TrustManager tm = new X509TrustManager() {            @Override            public void checkClientTrusted(X509Certificate[] x509Certificates, String s) throws CertificateException {            }            @Override            public void checkServerTrusted(X509Certificate[] x509Certificates, String s) throws CertificateException {            }            @Override            public X509Certificate[] getAcceptedIssuers() {                return null;            }        };        ctx.init(null, new TrustManager[]{tm}, null);        SSLSocketFactory ssf = new SSLSocketFactory(ctx, SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER);        ClientConnectionManager ccm = this.getConnectionManager();        SchemeRegistry sr = ccm.getSchemeRegistry();        sr.register(new Scheme("https", 443, ssf));    }}

 

WeiboTest.java

import org.apache.http.HttpResponse;import org.apache.http.NameValuePair;import org.apache.http.client.HttpClient;import org.apache.http.client.entity.UrlEncodedFormEntity;import org.apache.http.client.methods.HttpPost;import org.apache.http.message.BasicNameValuePair;import org.jsoup.Jsoup;import org.jsoup.nodes.Document;import org.jsoup.nodes.Element;import org.jsoup.select.Elements;import java.io.BufferedReader;import java.io.File;import java.io.FileReader;import java.util.ArrayList;import java.util.HashMap;import java.util.Iterator;import java.util.List;import java.util.Map;public class WeiboTest {    public static final String url = "https://weibo.com/aj/mblog/del?ajwvr=6";    public static final String charset = "utf-8";    public static void main(String[] args) throws Exception {        /**         * sina_weibo.txt由微博頁面F12獲得格式是         * <div node-type="feed_list">         *     <div action-type="feed_list_item"></div>         *     <div action-type="feed_list_item"></div>         *     <div action-type="feed_list_item"></div>         *     <div action-type="feed_list_item"></div>         *     <div action-type="feed_list_item"></div>         *     ...         * </div>         */        File file = new File("C:\\Users\\Nihaorz\\Desktop\\sina_weibo.txt");        BufferedReader br = new BufferedReader(new FileReader(file));        StringBuffer sb = new StringBuffer();        String str;        while ((str = br.readLine()) != null) {            sb.append(str).append("\n");        }        System.out.println(sb);        br.close();        Document doc = Jsoup.parseBodyFragment(sb.toString());        Element body = doc.body();        Elements elements = body.select("div[action-type=‘feed_list_item‘]");        Iterator<Element> it = elements.iterator();        HttpPost httpPost = new HttpPost(url);        addHeader(httpPost);        while (it.hasNext()) {            Element element = it.next();            String mid = element.attr("mid");            System.out.println(mid);            execute(httpPost, mid);        }    }    private static void execute(HttpPost httpPost, String mid) throws Exception {        HttpClient httpClient = new SSLClient();        //設定參數        List<NameValuePair> list = new ArrayList<NameValuePair>();        Map<String, String> map = new HashMap<String, String>();        map.put("mid", mid);        Iterator<Map.Entry<String, String>> iterator = map.entrySet().iterator();        while (iterator.hasNext()) {            Map.Entry<String, String> elem = iterator.next();            list.add(new BasicNameValuePair(elem.getKey(), elem.getValue()));        }        if (list.size() > 0) {            UrlEncodedFormEntity entity = new UrlEncodedFormEntity(list, charset);            httpPost.setEntity(entity);        }        HttpResponse resp = httpClient.execute(httpPost);        System.out.println(resp);    }    private static void addHeader(HttpPost httpPost) {        httpPost.addHeader("Accept", "*/*");        httpPost.addHeader("Accept-Encoding", "gzip, deflate, br");        httpPost.addHeader("Accept-Language", "zh-CN,zh;q=0.9");        httpPost.addHeader("Connection", "keep-alive");        httpPost.addHeader("Content-Type", "application/x-www-form-urlencoded");        /**         * 設定自己的cookie         */        httpPost.addHeader("Cookie", "***");        httpPost.addHeader("Host", "weibo.com");        httpPost.addHeader("Origin", "https://weibo.com");        httpPost.addHeader("Referer", "https://weibo.com/1864722372/profile?rank=1&is_all=1");        httpPost.addHeader("User-Agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.62 Safari/537.36");        httpPost.addHeader("X-Requested-With", "XMLHttpRequest");    }}

 

使用java代碼大量刪除新浪微博

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.