操屁眼的视频在线免费看,日本在线综合一区二区,久久在线观看免费视频,欧美日韩精品久久综

新聞資訊

    兒教你目前在上搜索引擎找關于微信刷票方面的教程,但是現在的搜索引擎要想找到“微信投票怎么刷票快之微信投票刷票怎么界定與微信投票電腦怎么刷票”的信息,是比較困難的。在此“圓你夢微信投票專家”及“漁夫微信互投票群”的投票刷票拉票群主,特來為大家講解下如何找到“微信投票怎么刷票快之微信投票刷票怎么界定與微信投票電腦怎么刷票”相關信息吧。要找到專業的站點上檢索咱們的信息,這樣的話就比較容易找到,要找微信投票刷票拉票等信息建議通過到“漁夫微信互投票群”站上檢索咱們需要的信息即可。

    一路走來,克羅地亞連戰連捷!從小組賽擊敗尼日利亞,橫掃阿根廷,再克冰島,到淘汰賽擊敗丹麥,點殺俄羅斯,絕殺英格蘭。格子軍團的靈魂人物莫德里奇在世界杯6場比賽中,繼續發揮至關重要的作用。球場上,莫德里奇如同具備魔法一般神奇,在場外,他的另一半博斯尼奇,也堪稱他的賢內助,十分旺夫!

    人們常說,一個成功男人的背后必然有一個優秀的女人。作為魔笛的妻子,博斯尼奇征服他靠的不是嫩模明星們的身材美貌,而是她運籌帷幄精明強干的能力。在莫德里奇的職業生涯中,博斯尼奇不僅是他生活中的妻子,更是他事業上的軍師。

    作為足球界少有的神仙眷侶,博斯尼奇的相貌和身材雖并不十分出眾,但莫德里奇對她卻十分專一。莫德里奇已是享譽世界的球星,尤其是這次世界杯的驚艷表現,很多媒體驚呼:莫德里奇已經成為世界杯金球獎的熱門!

    魔笛比賽時,嬌妻經常會帶著孩子到現場觀戰,為丈夫加油助威。比賽結束后,魔笛也會一手抱起孩子一手攬著嬌妻,滿眼寵溺,幸福感十足。他們經常一起出現在各大公眾場合,恩愛甜蜜的在眾人面前撒一把糖,甜暈一眾球迷。二人不是英雄美人的故事,但恩愛程度卻讓人歆羨。

    博斯尼奇和魔笛的相遇相識也有些命中注定的意味。2007年,魔笛效力于薩格勒布迪納摩隊,而年長他3歲的博斯尼奇恰好就在莫德里奇的經紀人辦公室工作。見面后,二人一見鐘情,仿佛就是一場天作之合。博斯尼奇不僅讓年輕的莫德里奇體驗到了愛情的甜蜜,更給他提供了事業上的幫助。本就實力不俗的魔笛在遇到博斯尼奇后更是如虎添翼,很快就在足壇嶄露頭角。

    2008年歐洲杯前夕,轉會市場風云變幻。魔笛的表現被許多家球隊看在眼里,一時間,他成了各個俱樂部爭奪的熱門,被譽為“新克魯伊夫”。而面對眾多球隊的盛情相邀,魔笛一時間也沒了主意,身為經紀人的博斯尼奇在這時候站了出來,建議他為了得到更廣闊的發展空間,一定要進入到五大聯賽中,并給出了相應的實施辦法。在博斯尼奇的運作下,魔笛選擇了北倫敦的熱刺隊,并實現了職業生涯的一次跳躍。

    而魔笛職業生涯的下一次發展,更證明了嬌妻博斯尼奇的高瞻遠矚。在英超經歷了四年風雨的莫德里奇,希望尋求一個更大的舞臺去展示自己。面對這位愛將,熱刺方面展現出了極大的決心,多次拒絕了皇馬開出的報價。面對熱刺的獨斷,魔笛一時間束手無策,這時候賢內助博斯尼奇運籌帷幄,不斷向熱刺方面施加壓力,最終完成了丈夫的心愿,登陸伯納烏。魔笛以后的職業發展非常順暢,很快就大紅大紫。這樣精明強干有手腕的太太,魔笛想不紅都難。

    月11日至9月17日是國家網絡安全宣傳周。14日,廣州市公安局召開新聞通報會,南都記者從會上獲悉,夏季行動以來,廣州警方共偵辦各類網絡犯罪案件181起,抓獲嫌疑人共642名。

    新聞通報會現場。

    根據“凈網2023”專項行動部署,廣州警方緊密結合夏季治安打擊整治行動,以打擊整治“十大網絡亂象”為切入點,堅持全鏈條打擊“網絡水軍”、網絡侵公、網絡黑客等違法犯罪,持續打擊整治網絡謠言。

    近期,廣州警方在工作中發現1個利用技術手段繞過平臺登錄驗證程序,從而批量登錄賬號進行投票點贊,進而非法牟利的線上工作室。該工作室技術人員編寫特定腳本實現多線程批量登錄平臺賬號,進入公眾號或小程序進行自動投票,涉嫌非法控制計算機信息系統罪。

    初步查明,該工作室主要通過為評選比賽鏈接投票收取費用,一票的價錢在0.02-0.08元不等,日均刷票數在40000票左右,嚴重擾亂正常網絡生態。

    8月8日,廣州警方在省內外有關地市部署統一收網行動,抓獲4名涉案嫌疑人,扣押數臺涉案主機及移動設備,凍結涉案資金43萬元。

    南都記者了解到,夏季行動以來,廣州警方共偵辦各類網絡犯罪案件181起,抓獲嫌疑人642名。其中,重點打擊“網絡水軍”違法犯罪案件11起,抓獲嫌疑人118名,查明涉案資金1.2億余元;嚴打侵犯公民個人信息違法犯罪案件10起,抓獲嫌疑人38名;嚴打偵辦黑客攻擊類犯罪案件5起,抓獲嫌疑人12名;處罰編造、散布網絡謠言涉案人員6人;聯合執法和行政查處偵辦案件5起,抓獲嫌疑人5名。

    廣州市公安局網警支隊新聞發言人表示,廣州警方將持續大規模大聲勢加強網絡空間治理、維護網絡安全、打擊網絡違法犯罪,推動“凈網”專項行動深入開展。

    采寫:實習生 付冰潔 南都記者 韋娟明 通訊員 公新文

    還在苦苦拉票嗎?

    • 前言
    • 剖析投票原理
    • 處理思路
    • 具體實戰
    • 主要流程
    • 具體細節python
    • 代碼實例python
    • 具體細節java
    • 代碼實現java
    • 總結

    前言

    現在生活中離不開各類的比賽,然而,各個比賽離不開投票,我們會清一色有時候找到我們的朋友在朋友圈發—幫寶貝投一票,幫某某老師,學生投一票。又或許你自己參加比賽,你在為你自己拉票。

    剖析投票原理

    作為一名程序員,你是否想為自己的生活開一點G呢?熟悉網絡請求的我們,應該從問題根源分析問題。對于一個投票的網站。大致分為兩類:

    • 登錄類:
    • 這類網站是確實不太好操作,一般是每個賬戶每天能夠刷若干票。因為賬戶的資源是有限的,我們很難通過獲取大量的賬戶資源為我們服務。況且,一般的登錄稍微大廠或者技術高點其中的js加密會比較復雜,對于普通人js水平不高很難行的通這條路。比如常見需要微信登錄,qq登陸的網站投票,就很難開掛。
    • 非登錄類:
    • 并不是所有網站都有騰訊的登錄授權的,有很多他們自己的官網他們自己就是一個體系。這類網站普通人或許也感覺不到差異:投幾票之后也不能投。然后紛紛找朋友幫忙投。剖析這類網站,既然沒有登錄機制,那么它就是根據ip機制進行鑒定。因為正常你的公網ip相對來說是穩定。所以正常一個用戶只能投固定的幾票?;蛟S高級一點他會和瀏覽器信息結合鑒定,但這種還是比較少的。

    處理思路

    既然原理已經剖析完成,那么剩下的就是設計程序的問題了,對于一個點擊投票的事件,它的實質就是一次http(post)請求,然后后臺對數據進行更改。那么我們就可以對這個操作流程進行抓包,分析這個請求是那種類型,需要那些參數。然后根據這個請求模擬寫出請求。

    然而最重要的就是ip代理,你要用代理的ip去訪問那個接口,讓對方以為是你代理的那個ip再對他訪問,所以你需要維護一個代理ip池。對于代理ip池,并不是什么高大上的東西,準確的來說就是一個集合中包含一些可用的ip,能夠供我使用。市面上也有很多出售代理ip,也不貴。我用的是蘑菇代理。

    具體實戰

    主要流程

    碰巧,最近參加的一個比賽就有拉票環節,如果人為手動拉票的話效率地下,并且你肯定也不會愿意天天去舔人家求情。那就自己分析一波!

    • 首先,打開你在的網站(有的手機端,電腦端好抓包可調),谷歌或者其他瀏覽器F12抓包,點擊network,xhr準備(肯定是ajax請求不用想)。

    • 分析這個請求的重要參數.(header)

    • 找到url和幾個參數,就可以準備程序了。模擬請求了

    具體細節python

    因為這是多次請求,所以要考慮性能的問題和效率問題。不能讓異常漫天飛,中斷,ip白白浪費,或者苦苦等待吧。

    對于代理ip,各家賣的雖然有些差異但是大體相同。大致均為賣數量,然后每個ip從開始被用后能夠維持幾分鐘的使用。并且有的ip是不能用的,有的是高延遲的,這些在寫程序的時候都要過濾掉。這里面就要考慮下這個程序額設計。

    1. 多線程:
    2. python雖然多線程有個全局鎖大大的影響效率。但是對于io請求型多線程還是能有一定的提速的。因為io有大量的線程等待。多線程的模塊大致為定義一個線程類,定義初始方法和run函數。然后在外面定義幾個線程,讓他們跑任務。
    3. ip處理和資源處理
    4. 正常的ip代理是一群ip隨機抽取其中作為代理ip,進行爬取任務,然后ip失效從ip池中刪除。而url的鏈接一般放到線程安全的全局容器中一個個拋出。ip放到list或者redis中進行維護,做好try catch異常即可。但是這個刷票只有一個url。并且一個ip只能用有限次數。所以換個思路,url不需要容器維護。而ip用隊列維護最好,并且python的隊列是線程安全的。所以整個程序的架構也就很清晰了。只需要用個queue解析ip獲取的格式進行相應儲存。然后被消費,當少于一定個數時,請求api獲取ip進行填充。
    5. 在預處理方面,以前介紹過另一個蘑菇代理使用和ip池類似的問題,可以預先參考。

    代碼實例python

    import requests
    import random
    import time
    import threading
    from queue import Queue
    def loadip():##從代理ip中獲取ip 一次若干擴充到queue中
     url2='http://piping.mogumiao.com/proxy/api/get_ip_al?appKey=f16367295e284173ae450f&count=20&expiryDate=0&format=1&newLine=2'
     req=requests.get(url2)
     date=req.json()
     if(date['code'])!='3001':
     ipdate2=date['msg']
     for va in ipdate2:
     que.put(va)
    class downspider(threading.Thread):##線程類
     def __init__(self, threadname, que):
     threading.Thread.__init__(self)
     self.threadname=threadname
     self.que=que
     def run(self):
     print('start thread' + self.threadname)
     while True:
     try:
     toupiaospider(que,self.threadname)##投票函數
     except Exception as e:
     print(e,'888')
     break
    def getproxies():#獲取ip 拼接成需要的代理格式
     b=que.get()
     d='%s:%s' % (b['ip'], b['port'])
     global proxies
     proxies['http']=d
     return proxies
    def toupiaospider(que,threadname):
     if (que.qsize() < 15): # 拓展ip池
     loadip()
     proxies2=getproxies()
     for i in range(0,5):
     try:
     #formData['times']=i
     req=requests.post(url, headers=header, data=formData, proxies=proxies2, timeout=1.5)
     res=req.json()
     if res['res']==2001 or req.status_code!=200:
     continue
     print(threadname,proxies2['http'],res,que.qsize())
     except Exception as e:
     print('errror',e)
    if __name__=='__main__':
     
     proxies={'http': ''}
     stadus=0
     que=Queue()
     threads=[]#線程
     url='http://yunxin.163.com/api/vote/update'
     header={
     'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36'}
     formData={
     'Referer':'http://yunxin.163.com/promotion/minichallenge/gallery?from=groupmessage&isappinstalled=0',
     'id':'17',
     'times':'1',
     'activity':'minichallenge1'
     }
     proxies={'http': '182.247.92.99:21136',
     }
     loadip()
     time.sleep(5)
     ##線程數組 ->啟動 ——>等待join
     threadList=['thread-1','thread-2','thread-3','thread-4','thread-4','thread-5']
     for j in threadList:
     thread=downspider(j, que)
     thread.start()
     threads.append(thread)
     for t in threads:
     t.join()
    

    結果

    具體細節java

    在java中比較棘手的就是java自身對json和http請求的處理不太方便,需要借助第三方jar,并且一些操作稍顯的繁瑣。

    首先java要弄清幾點:

    1. 代理方式:
    2. java主要有兩種代理方式,一種是jdk全局代理,另一種是net包下的proxy代理。對于多線程程序并且ip只能用一次的當然是用net的proxy代理。
    3. 解析json
    4. 通過api獲取ip,格式固定的,需要借助fastjson解析json串獲取需要的信息。
    5. 線程安全問題。你可以用線程安全的blockqueue,當然其實你可以在操作隊列的方法加上synchronized關鍵字也可以。你可以定義固定的線程每個線程任務多個。也可以用線程池定義多個線程類,每個線程完成一個任務。
    6. 網絡請求雖然urlconnection可以實現,但是太繁瑣,遠比jsoup復雜。所以這里使用jsoup。

    針對上面的問題。寫了個demo測試進行預備,對于獲取ip的api,大致這種格式

    首先你要下載fastjson和jsoup的jar包?;蛘呒尤雖aven依賴。(可在maven官網下jar包)

     <!-- https://mvnrepository.com/artifact/org.jsoup/jsoup -->
     <dependency>
     <groupId>org.jsoup</groupId>
     <artifactId>jsoup</artifactId>
     <version>1.12.1</version>
     </dependency>
     <!-- https://mvnrepository.com/artifact/com.alibaba/fastjson -->
     <dependency>
     <groupId>com.alibaba</groupId>
     <artifactId>fastjson</artifactId>
     <version>1.2.58</version>
     </dependency>
    

    然后寫個demo跑一下

    package com.bigsai;
    import com.alibaba.fastjson.JSON;
    import com.alibaba.fastjson.JSONArray;
    import com.alibaba.fastjson.JSONObject;
    import java.util.concurrent.ExecutorService;
    import java.util.concurrent.Executors;
    public class test2 {
     static int va=1;
     public static void main(String[] args) {
     String ti="{\"code\":\"0\",\"msg\":[{\"port\":\"40034\",\"ip\":\"114.237.64.247\"},{\"port\":\"33257\",\"ip\":\"223.240.210.250\"},{\"port\":\"39618\",\"ip\":\"113.101.255.11\"},{\"port\":\"43151\",\"ip\":\"183.135.106.62\"},{\"port\":\"41795\",\"ip\":\"182.108.44.227\"}]}";
     JSONObject jsonObject=JSON.parseObject(ti);
     String code=(String) jsonObject.get("code");
     JSONArray jsonArray=jsonObject.getJSONArray("msg");
     for(Object te:jsonArray)
     {
     JSONObject team=(JSONObject) te;
     String ip=team.getString("ip");
     int port=team.getInteger("port");
     System.out.println(team+" "+ip+" "+port);
     }
     ExecutorService ex=Executors.newFixedThreadPool(10);
     for(int i=0;i<200;i++)
     {
     threadtest threadtest=new threadtest();
     ex.execute(threadtest);
     }
     ex.shutdown();
     }
     static synchronized void addva()//去掉注釋試試
     {
     va++;
     try {
     Thread.sleep(200);
     } catch (InterruptedException e) {
     e.printStackTrace();
     }
     System.out.println(Thread.currentThread().getName()+" "+va);
     }
     static class threadtest implements Runnable{
     @Override
     public void run() {
     addva();
     }
     }
    }
    

    觀察結果。打印,這些邊角問題你就明白了。就可以設計java程序了。

    代碼實現java

    package com.bigsai;
    import com.alibaba.fastjson.JSON;
    import com.alibaba.fastjson.JSONArray;
    import com.alibaba.fastjson.JSONObject;
    import org.jsoup.Connection;
    import org.jsoup.Jsoup;
    import org.jsoup.nodes.Document;
    import java.io.IOException;
    import java.net.InetSocketAddress;
    import java.net.Proxy;
    import java.util.ArrayDeque;
    import java.util.HashMap;
    import java.util.Map;
    import java.util.Queue;
    import java.util.concurrent.ExecutorService;
    import java.util.concurrent.Executors;
    public class wangyi {
     //改成你自己的token已經被我改了
     static String ipurl="http://piping.mogumiao.com/proxy/api/get_ip_al?appKey=f16367295e284173ae3&count=20&expiryDate=0&format=1&newLine=2";
     /**
     * java的多線程和python略有不同,但也可以改成相似的
     * py是5個線程每個線程死循環任務,而java用線程池每個線程一個任務,只不過new了很多對象
     * @param args
     */
     static Queue<proxynode> q1;
     public static void main(String[] args) {
     q1=new ArrayDeque();//隊列存放結構體 ip和port
     ExecutorService ex=Executors.newFixedThreadPool(10);
     for(int i=0;i<200;i++)
     {
     try {
     Proxy proxy=getproxies(q1);//獲得代理ip
     vote vote=new vote(proxy);
     ex.execute(vote);
     }
     catch (Exception e)
     {e.printStackTrace();}
     }
     ex.shutdown();
     }
     static synchronized Proxy getproxies(Queue<proxynode> q1) throws IOException//上鎖獲得代理,因為ip只用一次,也可使用自帶的線程安全隊列
     {
     if(q1.size()<15)//擴充ip池
     {
     String jsonva=Jsoup.connect(ipurl).timeout(2500).get().text();
     JSONObject jsonObject=JSON.parseObject(jsonva);
     String code=(String) jsonObject.get("code");//狀態嗎
     if (code.equals("0")) {//正常返回接口
     JSONArray jsonArray=jsonObject.getJSONArray("msg");
     for (Object jsonobj: jsonArray) {
     JSONObject team=(JSONObject) jsonobj;
     String ip=team.getString("ip");
     int port=team.getInteger("port");
     proxynode node=new proxynode(ip,port);
     q1.add(node);
     }
     }
     else return null;
     }
     proxynode proxynode=q1.poll();
     Proxy proxy=new Proxy(Proxy.Type.HTTP, new InetSocketAddress(proxynode.ip, proxynode.port));
     return proxy;
     }
     static class proxynode//一個node儲存ip和端口
     {
     String ip;
     int port;
     proxynode(String ip,int port)
     {
     this.ip=ip;
     this.port=port;
     }
     }
     static class vote implements Runnable{
     Proxy proxy;
     vote(Proxy proxy) {
     this.proxy=proxy;
     }
     public void dovote() throws IOException {
     //Proxy proxy=new Proxy(Proxy.Type.HTTP, new InetSocketAddress("host", 8888));
     try {
     Connection connect=Jsoup.connect("http://yunxin.163.com/api/vote/update").timeout(2000);
     Map<String,String>date=new HashMap<String, String>();
     date.put("id","17");
     date.put("times","1");
     date.put("activity","minichallenge1");
     date.put("Referer","http://yunxin.163.com/promotion/minichallenge/gallery?from=groupmessage&isappinstalled=0");
     date.put("User-Agent","Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36");
     connect.data(date);
     connect.ignoreContentType(true);
     connect.proxy(proxy);
     Document doc=connect.post();
     System.out.println(Thread.currentThread().getName()+" "+proxy.address()+" "+doc.text());
     }
     catch (Exception e)
     {
     System.out.println(e.toString());
     }
     }
     public void run() {
     try {
     for(int i=0;i<5;i++) {
     dovote();
     }
     } catch (IOException e) {
     e.printStackTrace();
     }
     }
     }
    }
    

    結果

    總結

    在寫爬蟲還是python方便和簡單。因為py對json支持較好(字典),而java強對象類型語法要求較嚴。但是在多線程方面java肯定是秒殺py的。因為py的多線程是(假)多線程。想提高速度的可以研究多進程。

    這類問題本質不難的,做過一次就很簡單了。這只是其中一種案例。提供一些思想和解決思路。遇到不同的問題可能需要不同的結構,方式去解決,這就需要融匯貫通。

    如果有錯誤,請大佬指正。

    如果喜歡,可以關注我(一直碼農一直爽),一起分享學習資源。

網站首頁   |    關于我們   |    公司新聞   |    產品方案   |    用戶案例   |    售后服務   |    合作伙伴   |    人才招聘   |   

友情鏈接: 餐飲加盟

地址:北京市海淀區    電話:010-     郵箱:@126.com

備案號:冀ICP備2024067069號-3 北京科技有限公司版權所有