镖行天下全集镖为什么抢不到车,手速问题么

天下镖!在车上死了,然后没追上车_天涯明月刀ol吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0可签7级以上的吧50个
本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:1,594,318贴子:
天下镖!在车上死了,然后没追上车
为什么我会在车上死掉
风云稻米——特邀微博贴吧...
吧友:装X界四大金刚横...
“小鲜肉这个话题”我一直...
《龙珠》的那个悟空
很多人可能不知道她,照...
2.10-2.14上映的电影
古装、民国、现代三装pk...
目前最成功,影响力最高...
在香港电影市场的贺岁档...
嘤嘤嘤哼,人家拿小拳拳...
一个春节从“胖”变成了“...
金鸡报晓贺新春,月吧团...
神仙游戏圆千万玩家的修仙梦想「神仙游戏」2017年·仙侠ARPG开山之作;37《神仙游戏》酷炫技能,震屏大招,助你弑仙灭魔;神仙游戏点击开始
自断经脉不谢
(ಡωಡ) 笑哭了露珠手滑了吗?
你仿佛在逗我笑
为什么会死
你比我悲剧
61主武哪里搞
我还高兴的截图
还有16个镖旗没补!真是浪费!
贴吧热议榜
使用签名档&&
保存至快速回贴热门搜索:
  能在最近的一周内,你听到频次最高的词语就是“买买买”,如此重要的事情,当然要说三遍。虽然双十一是一个凭空生造、毫无历史底蕴的节日,但并不妨碍它逐渐取代情人节成为年轻人心目中第二重要的时间节点,毕竟双十一建造者们的初衷是给单身狗一个狂欢的理由,没成想后来被一名旁友发掘商机,成为各大领域倾销库存的绝佳时机。
  按道理来说,一切和购物相关的事宜都应该和老爷儿们没啥关系,以往双十一的销售主力多为衣帽鞋袜、洗发水面膜之类的零碎小物,后来逐渐过渡到大宗电器、装修建材,可从去年开始,由汽车之家和易车两大主流站主导的电商汽车销售悄然走红,汽车――号称人类工业制造巅峰的产品,也终于禁不住网络的诱惑,从传统的出走。
  从已知数据来看,去年汽车之家双十一期间的订单量翻了一倍,易车也表示订单量净增%。今年,汽车之家和易车依然当仁不让的成为主力部队,但包括腾讯、搜狐和天猫在内的各种电商平台也不甘示弱,试图在两大巨头拼的刺刀见红之际,趁虚而入。
  越来越多的人会在双十一这天进入打鸡血的状态,但汽车销售的双十一似乎并没有什么新花样,无非就是补贴、折扣、、秒杀、整点惊喜价、送贴膜脚垫香水机油保养等常规项目,今年新增加的唯一亮点就是平行,不过能生生掏出七八十万的金主,还会和我等平头百姓一同掺合双十一吗……人家想买分分钟就下订单了好吗!
  汽车之家
  首页banner广告做的是挺诱人的,挂着疯狂购车节的名头,下面还有一行小字,戴上放大镜后是“有真相、再”,低至3.3折、车型1.77万起等导流型词汇频繁出现,而参加半价秒杀的车型也多为这种生命力极其顽强的“经典车型”,或是、骏、等边缘自主品牌产品,唯一能让笔者提起兴趣的就是/2014款 30 FSI 舒适型,结果点进去后“非常抱歉, 该商品已经下架”。
  对手的优惠活动真心称不上给力,这也给了易车弯道超车的机会。今年易车的优惠之王桂冠被的3.3万补贴夺取,第二名的的6元……笔者很想问问,能给咱消费者来个主流点的车型吗?在易车的另一个电商平台惠上,最热销的是售价为10.99~15.99万元的2015款,,显示有9人正在购买,和并列第二,908人正在购买。
  阿里汽车
  相比于形式大于实际意义的汽车之家和易车,阿里这次算是下了血本,也真的弄出噱头十足的各类优惠50余款车型,涉及近3万台特价整车,其中最劲爆的就是、、甚至提供了数百台5折车型,比如,原价28.88万元的仅售14.44万元。其他车型优惠力度也非常之大,所售车型售价7至8折相对普遍。按照这样的数据计算,目前已有上千车型、近万家进入阿里的“双11疯狂购车节”。
  关注微信号:12缸汽车(kf12gang)看更多猛文。
请先登录再操作
请先登录再操作
微信扫一扫分享至朋友圈
霉体老兵,目前冒充缸哥! 服务于12缸汽车网(http:/...
汽车最新实拍图片、官方图片。
与车有关?娱车有关!从汽车科技聊到文化。
汽车产业深度报道,权威信息解读。
用数据告诉你传播、品牌背后的真相,提供独立、专业的价值标准。
广泛的综合性交通多媒体发布平台。
解读前沿汽车科技,剖析精密造车工艺。b站三好市民与百万手速王为什么总能抢到1楼?如何看待这种行为?
b站的朋友们应该有跟我关注一些同样节目的,比如Re:0,papi之类的,几乎每次Re:0评论区1楼都是百万手速王,papi的视频里也有很多评论区1楼是三好市民,最近我看的一次三好市民的1楼是155的极乐净土,这表明他的抢楼能力不限于一个节目。事实上他们评论字数都不少,却从不死于话多,更惊讶的是他们从来没撞过车。我真的很好奇他们在这些热门节目里为什么总能抢到1楼?是工作人员还是脚本的力量,又或者是什么其他的原因?非常希望知情人士现身说法
居然还有人看评论区?居然还有人抢一楼?居然还有人因为这个事互喷?居然还有人因为这个事举报?
還能說什麼?可悲的腳本家為了獲取可悲的虛榮感,卻有一班小學生追捧點贊還真的認為是手速,足見現在B站素質低下,還有這裡面的水很黑,所以B站睜一隻眼閉一隻眼,官方如此,我們屁民就看看笑話就夠了补些贴吧的图语气够拽,身经百战,后台够硬,无法无天,灰色地带,钻孔很在行----------------------------------------------------------------------------------------------------------------------------------问:脚本王的评论里为什么都是赞他的小学生呢?
因为你说他[用脚本],或说个[举报不谢],它都可以“引战理由”这条来举报你的评论,反正你说他的不对他都能找理由举报你,造成好像非常多人认同他的样子,也不排除跟风小学生。而且B站管理受理它的举报速度非常快,你如果言辞过激点,不出五分钟,温和点十来分钟左右,所以要做到既批评又无法被举报就要看网民智慧了--------------------------------------------------------------------------------------------------------------------------------------------
从这句话可以看出他们都是团伙行动的,毕竟
, 脚本王,照桥心美酱(这个可能是新开的小号)都是同一个群的(用的应该都是同一个脚本),再来个粉丝点赞群很正常,你看这几个脚本家的关注都有几千人,点赞引导风向很正常。
问:什么叫“一个群的人等着赚节操”?
若发现风向不对,叫群里的狗们一起举报,这就是火力集中攻击反对他的评论。并发表什么6666,又是你,没有性生活,王的胜利,打败三好等规定性语句引导后面评论,而且派出洗白小号(强烈怀疑是其小号)引战洗白,不外乎脚本王经常说的那几个论点:(欢迎补充)“分明抢不到楼嫉妒才举报的”“就算是脚本,但发的都是有意义评论”“你们翻下去看热评会死吗?”"就算是脚本也是他的本事,分明就是嫉妒"“你们要热评,我们要看戏”(戏:脚本王和三好的抢楼比赛。对此我想表示,人家都分配好了,还比赛,长点智商好吗?)附上一年前的〈脚本王抢楼护主图〉↓,或者说一年后的论点也惊讶的相似,我就不太明白,什么时候使用作弊脚本都能变成值得赞扬的事了?大前提就是错误的基础还能辩护也不想多说什么了今天看齐木楠雄69集热评时偶然发现大家又在撕逼抢楼,也没办法,前三都是抢楼群里的人,今天看齐木楠雄69集热评时偶然发现大家又在撕逼抢楼,也没办法,前三都是抢楼群里的人,三好,照桥心美酱这伙人,但这个号
@xiao1066 让我好生熟悉好像在哪见过,原来是在《热诚传说7》里热评洗白抢楼的家伙(有兴趣可以去观摩它的论点,很全的洗白论点),当时就造成一次轰动,没想到时隔多月又在撕逼抢楼时又能看到他出来活动撕逼洗白,应该是三好群里的洗地水军,每当批判脚本就跳出来和你撕逼引导有利于他观点的言论方向,若觉得自身撕逼实力不够,各位大可不要理它,毕竟人家可是撕逼老手,人家可是身经百战,洗惯了(笑)------------------------------------------------------------------------------------------------------------------------------------------脚本王有至少一个群在后面有组织有预谋的点赞不算刷赞?而且对自己使用脚本的事情没见他承认过一次,从上面他的话语中可得知,想自己的发言在脚本王的楼层存活,必须是上面所说的那几句话,一切反对的话语都能被当作引战理由被举报,一下子就扣你十分节操值,而且一般不出五分钟,它与B站可能真的有某种见不得人的关系在,因为你举报色情小号发言B站处理都没这么效率------------------------------------------------------------------------------------------------------------------------------------------
这直接表明它会写会用脚本已经不意外了,真希望那些不明真相跟风刷还说脚本王的手速快的傻子能看到,合理怀疑那些小学生连“脚本”这个词都没听过--------------------------------------------------------------------------------------------------------------------------------------------
还有脚本王不仅仅是程序员,还是黑客,能人肉他人信息,qq什么的也是够厉害的,曾在贴吧听说另一个人的三个号也被脚本王人肉出了,据那人回应,三个号都是不关联,不绑定的。不管那个人真假,真是细思及恐。有人问为什么他们总是能提前知道视频内容呢?根据它们的狐朋狗友的说法,他们都不是内部人员,都是黑进B站系统提前看番,提前了解UP主的投稿什么的也不是什么问题-------------------------------------------------------------------------------------------------------------------------------------------
这是齐木楠雄53话热评中脚本王对热评第一那位大神的嘲讽。那位大神用脚本抢了一次一楼来验证抢楼脚本的可行性,结果证明抢楼脚本的却可用。然而脚本王不请自来嘲讽一番,指其根本不是对手,可见其对自行写的脚本无比自信,也印证了:
“想抢一楼?你脚本烂就不要丢人现眼来和我脚本王抢”PS:有兴趣同学可以去观摩那位大神普及脚本知识,祝你也能写个脚本抢一楼据说14年的抢楼脚本程序使用界面长这个样↑据说14年的抢楼脚本程序使用界面长这个样↑(话题回复中
大神的抢楼程序懂的同学可以看看,不懂话应该可以请教吧(笑) ------------------------------------------------------------------------------------------------------------------------------------------本人比较敬佩的科普组也对脚本王进行招安或者说劝导,明显脚本王没在理。我想想也是哦,科普君的科普一般都是视频出来后才能慢慢对视频内容总结科普的(不排除看生肉),若接受的话脚本王就抢不了一楼满足它那可悲的虚荣心了。可怜的科普组,还时不时被脚本王它们举报成功,却无还手之力,只能委屈求全合作,可它理都不理,可怜。-----------------------------------------------------------------------------------------------------------------------------------------个人比较肤浅地对抢楼问题提个根本解决之道:取消楼层编号,这样还抢什么楼,反正对于评论区来说楼层的设置毫无意义取消点赞制度,虽然对于有质量的热评会造成极大冲击,但回归本质,大家其乐融融的评论。对应第二点,官方应重新划分两个区:日常评论区+科普询问区(科普组已经从不被认可发展到有组织有合作受人追捧的时代了,设立科普询问区可谓水到渠成)4. 对应第三点,再设立一个段子文章区也未尝不可,像王老菊,稚嫩的魔法师等UP主的视频文豪常现,或需要段子搞笑的视频也可拥有,缓冲对热评的冲击。5 .大家可以各抒己见。。。。。。(话说忘在哪里看到B站管理说考虑扩大UP主对于评论区的管理权限来着?)-----------------------------------------------------------------------------------------------------------------------------------------做了点细微的修改,听说B站老总们也常逛知乎,不知道会看这种无聊话题吗?(笑)(睿总对问题的回复↑)(睿总对问题的回复↑)毕竟与两千亿的二次猿市场比,这些都微不足道:)说点心里话:没想到才不到一两天,加点图片加几段话竟能让一个无聊了近一个月没人理的话题和回答起死回生,还有不少人不请自来,话说要洗白或者说辩护的论点应该都写在上面了吧,还能来点新意吗,一年前如此,一年后也如此。话说知乎的评论怎么跟贴吧差不多了,某些人跳来跳去的,还不如也截点图,加几段话来发表你的观点,我持反对观点,而你拥支持意见,而不是在其他人的评论中跳来跳去。--------------------------------------------------------------------------------------------------------------------------------------------看了一下十月新番,脚本王又开始行动了,看来下三个月也没跑了,京吹2没在B怂现在才发觉是好事,到时看看台版的它会不会抢(笑),但照我推理它会先抢完B站的大部分番剧的一楼,然后看看哪些比较火就专抢那几个,获得可悲的虚荣感。可能过不了几天这个话题又被挑起一波了,我装完逼先跑再说。话说经人提醒才发现在国漫区从没见过脚本王(亲自翻阅了一下还真是),也不知道是什么原因(笑)--------------------------------------------------------------------------------------------------------------------------------------------话说三好终于投稿了(毕竟获得这么多关注,会到这步我也一早想到了),什么UP排行榜之类的,而我的重点是这条评论,这应该是我至少第三次看到这样的说法了。说个亲身 经历的小故事吧:八月份在B站偶尔被一位跟三好脚本王他们认识的人私信聊到他们会少出现,当时我信了。可等到九月份,他们还在抢。然后九月份偶然在贴吧又有一位他们的朋友跟我说到,他们抢完夏季番就不抢了,原因也是上面的说法,我也信了,毕竟抢一个季番后收手也合道理,而且贴吧那家伙还信誓旦旦的说确认了,我又信了。然而没多久,十月份他们又开始行动了,还傍着脚本抢楼获得的名气关注出视频了,我又看到这句话,心里不禁感慨,我一直被骗却还相信他们所谓朋友的话...............(话说一个准备找工作,一个准备成家,哪个看来都是不小的事,还有时间天天抢楼,我还能怎样形容这种人呢?有兴趣的同学可以私信问问它们,若有回应,顺便截点图分享分享它们那可悲的心得)题外话,不少同学问抢一楼到底有什么意义,反正脚本王私信也不回复,我说个事吧:脚本王五级了!证明脚本抢楼吸引人气的却非常有用,这种视频都能有如此播放量(并非歧视那些曾经上过的视频)。这让我想起了曾经婊过的萌豆少主(就是那个伪造56岁Futa爹的家伙,为了洗白连爹都可以卖,有兴趣可以查查),因为大家把它婊上六级了,它就超珍惜这个大号,曾多次说退出B站却迟迟不退,可能这等级制度也具有特别的魅力(虚荣感?)吧,不少人还上淘宝买点赞收藏什么的提升等级,不过脚本王开辟了一条新路,就是你只要一直抢楼,让大家熟悉你,关注你,最好也找一两个狐朋狗友,来个抢楼竞争(虽然假的一逼,反正B怂里无脑小学生多最喜欢了),然后互粉出视频,等级也是可以蹭蹭往上蹭,还能获得不少实质无脑粉,且可以不像萌豆少主死相难看,苟且偷生,还有一帮人帮你洗(说到底和黄大蒜,萌豆等众多曾经被批判过的UP主本质一样,脚本王都已经求硬币求收藏了,真害怕下一步就是甩你一个淘宝帐号)........................这,也许就是意义所在-------------------------------------------------------------------------------------------------------------------------------------------话说有没有老司机帮我普及一下这位UP主什么来历?我看他在三好脚本王的视频(图中两个毫无质量盘点)下很跳,看了一下他的投稿,就那两个,可能原本删了吧,还有4万粉丝量让我很敏感,当初萌豆还有一个蒜三代也是四万粉,婊死了四万粉没掉几个,大家都说是淘宝固定服务。有认识的请在下面说明一下,了解后届时删除--------------------------------------------------------------------------------------------------------------------------------------------没想到吸引到某大神 ,过来太棒了,这样的结果最好,反正B站不管,就让他加速灭亡(这位仁兄说的极好)回头齐神那想截个图,突然发现脚本王的嘲讽回复没有了(笑),不是我不相信 回头齐神那想截个图,突然发现脚本王的嘲讽回复没有了(笑),不是我不相信 的实力,但好像脚本王三好它们对自己的技术很满意的样子,若有成功的同学可以分享分享,成功的话,这也正好可以倒逼三好脚本王实现它们的收手谎言,或者让B站管理员提点心成功的话,这也正好可以倒逼三好脚本王实现它们的收手谎言,或者让B站管理员提点心反正你们爱理不理的 反正你们爱理不理的 ,遥想当初黄大蒜事件,也是如果没有H萌强力介入,你们官方也是肯定理都不理的嘛(事件认识可能有误,指教批评)黄大蒜也是拽的不行话说抛砖引玉的目的也初步达到了,就看大玉会不会引到了..............--------------------------------------------------------------------------------------------------------------------------------------------(中玉?)官方表态?但在我看来写了和没写差不多,这更像是为了帮大会员事件转移部分焦点,不过起码表了一下态。话说这大会员这么贵还真有人买啊233--------------------------------------------------------------------------------------------------------------------------------------------(大玉!!!!!!!!!!!!!)正义终究降临,如果有时间限制的话,我希望永封这几个不知廉耻的家伙,毕竟人家还有一个群的资本(笑),还有三好可是猖狂的说过它有不少小号,又能改动IP,封不死它的.....这,也许就是以后另一段故事了................(已知剩下的那些要靠同学们积极举报了)最后不多说什么了,,行动力果然可以,dalao您那233的年度大会员我充定了,谁说大会员坏话的话我就跟谁急话说明明是坨粪,还想立牌坊,看到它的简介时真的不禁笑破肚皮,还牺牲品,别说的那么高尚,就是拿你们开刀祭旗整顿风气。若以后有人看到它还有同党出没,不用留情,用力打就对了2333(贴吧匆忙复制处理有点不当,谢谢提醒,已修改图片)--------------------------------------------------------------------------------------------------------------------------------------------抢楼新的篇章开始由于ID:香港记者君多次于火影等番剧抢楼,导致dalao三好的不满,三好还多次向b站管理员举报投诉,结果b站管理员无动于衷,毫无表示,致使三好无比愤怒重出江湖,以恶治恶,重新抢楼。至此,我表示b站的管理果然就是走过场,压民怨,当初我还以为真的认为b站会坚持为了什么社区环境的维护,打击歪风邪气,到头来只是枪打出头鸟,风头过了就什么都不管了,导致抢楼dalao愤怒出山换上小号继续抢,真是恭喜你b了。从这年初开始,貌似你b大新闻小新闻就接连不断,
dalao真该想想到底哪里出问题了,每一件微不足道的小事最后无法收拾的时候才后悔,只能说自作孽..............(最后来句a滚b)--------------------------------------------------------------------------------------------------------------------------------------------不好意思,若是撕逼,请各自私信撕,或自行发表论点回复话题,请不要在评论区里撕。观点不一不可能短短几句话就互相妥协,长篇论道请各自私信,毕竟有实名的勇气就不要把戾气再次带到评论区里。若真是只是为来撕逼而关注的知乎小号,请麻烦绕行,B站才是你们的战场。待续
我只知道这俩人以后肯定进不了阿里
------------------------------------------------------更新---------------------------------------------------------------竟然300多个赞了。。。知乎首次破百赞啊。。。。很多人问我为啥不用py,我在这说了吧,我也是新手,不是大神,我py不6,不过拿py实现也不难反而更简单,思路是一样的。然后既然已经搞了这么一个大新闻了,那就在这顺便说一下吧。。。这种写程序抢楼的行为,是不好的。我写这个的主要目的还是就玩玩编程而不是为了单纯抢楼,写出来,抢几次,图个乐,就ok了,可以收手了,目的已经达到了,再抢就没意思了。。。然后我在这有点话要对b站两位老大说对于反抢楼的应对方法:1.使用HTTPS,而不是HTTP。2.不要赤裸裸地发送明文的POST请求,至少稍微简单地用JavaScript做点处理吧,至少这样要抢楼的肯定要先逆向出JavaScript的组包算法(脚本的事情,好像不能说是逆向吧。。。)3.对重复请求相同资源的IP进行短暂拉黑,给他403。。。比方说我不停地请求番剧页面,那就可以把这个重复请求这个页面并且没有请求相关其它资源(如css)的IP短暂拉黑。。。4.如果说当番剧更新时,服务器会向所有已登录的(或者未登陆的?)安卓、IOS端APP发送一个数据包告知APP有番剧更新了(并且数据包内包含了这集的AV号的时候)的话,建议把这个数据包延时10-20秒再发送。(当然如果没有发送的话就无视这条,我对手机app开发不是很了解,大神勿喷。。。)至少这样,会让抢楼更加困难吧。(不过如果这会给我们这些码农更多的挑战性和动力,反而会让我们更加想要克服这些阻碍完成抢楼程序,并且激励了抢楼程序的开发的话,就当我没说(手动微笑))------------------------------------------------------更新---------------------------------------------------------------作为一个已经退役的抢楼玩家,我不想对三好和手速王评论什么。他们用脚本抢楼,那是他们自己的事。不过我在此实名反对所有“脚本抢楼不公平”的回答。没什么不公平的,他们能写脚本,没说你不能用脚本,完全公平,前提是你要会写。然而你自己不会,别人会,别人抢到楼,然后你说这不公平,这不是跟“我高中没别人努力高考成绩没别人好我去的大学没他好,这不公平”是一个概念么。。。当然我不是鼓励抢楼,我也玩过这个,只不过真没什么意思,蛮浪费时间的,就不玩了,现在已经退役。。。那个以前活跃过的retrospect2019就是我但是我还是抢不过他们两个,因为家里网实在渣有人说过,现在的黑客已经没有过去的那种分享精神了好,那我今天就分享一回虽然我并算不上一个黑客,只是一个菜鸟接下来的篇章里,我会试着把这种抢楼机器人的实现原理尽可能地阐述清楚。不知道市民和手速王是不是用的这种方法,不过应该大致原理也差不多。本篇科普会分为两个部分,第一个部分阐述大致原理,不会编程的也能大概明白;第二个部分上实际代码,需要大致的c/c++基础,TCP/IP协议,http协议,以及操作系统编程知识(如多线程互斥)才能明白。注:C/C++并不是脚本,个人原因不喜欢用脚本,顺便也告诉大家不要把脚本和机器人挂上等号PS:本人是菜鸟,编程习惯有些地方可能不规范,大神请轻喷,指出交流即可。首先在实现这个机器人之前,我们要先想一个问题,我们要让它干什么?或者说,我们抢楼的时候,我们干的本质上是什么?我们抢楼时,做的无非是以下:1.不断地刷新“番剧”页面,看最新一集更新没有2.如果更新,对这一集进行评论用算法流程图表示,就是这样:好了,大致就是这样。。接下来就要上代码了,对编程没有了解的可以大概地浏览一下看我装个13,或者觉得我sb的可以直接alt+F4。。。首先,我们要对“发送评论”这个动作进行实现。。。了解HTTP的都知道,评论的发送,实际上就是一个POST请求。。。我们这边直接抓一下b站的包嗯,b站就是这么耿直,赤裸裸地明文发送数据嗯,b站就是这么耿直,赤裸裸地明文发送数据那么接下来就很简单了,C/C++的话,socket,connect,send,搞定!下面直接上代码。。。#define BILIBILI_IP "114.80.223.172"
class CommentSender//顾名思义,用于发送评论的类
CommentSender();
~CommentSender();
int SetInfo(char * szMsg, char * szCookie, char * szAv);//设置数据包的评论内容,cookie(用于告诉服务器,这是哪个用户发的评论),和视频AV号。。。
char * szHeader;//堆,用于存储将要发送的POST数据包
static char szFormatHeader[];//数据包头模板,到时候就用它来sprintf...
//它的定义往下翻就好。。。
//SetInfo函数。。。
CommentSender::CommentSender()
szHeader = new char[2048];
memset(szHeader, 0, 2048);
CommentSender::~CommentSender()
delete[] szHeader;
int CommentSender::SetInfo(char * szMsg, char * szCookie, char * szAv)
//功能:根据已知msg cookie av号,sprintf动态生成请求头
char * szMsgEnc = new char[4096];
CnvrtToUrlEnc(szMsg, szMsgEnc);//自己写的函数,用于把字符串进行URL编码,网上大把,就不讲了。。。
int iRet = sprintf_s(szHeader, 2048, szFormatHeader, 39 + strlen(szAv) + strlen(szMsgEnc), szAv, szCookie, szMsgEnc, szAv);//生成POST请求数据包的字符串
delete[] szMsgEnc;
return iRet;
__declspec(selectany) char CommentSender::szFormatHeader[]="POST /x/reply/add HTTP/1.1\r\n"
"Host: \r\n"
"Connection: close\r\n"
"Content-Length: %d\r\n"
"Accept: application/json, text/javascript, */*; q=0.01\r\n"
"Origin: \r\n"
"User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0. Safari/537.36 SE 2.X MetaSr 1.0\r\n"
"Content-Type: application/x-www-form- charset=UTF-8\r\n"
"Referer: /video/av%s/\r\n"
"Accept-Language: zh-CN,q=0.8\r\n"
"Cookie: %s\r\n\r\n"
"jsonp=jsonp&message=%s&type=1&plat=1&oid=%s";
//用了蛮多格式化符号用来sprintf
int SendComment(char * szMsg, char * szCookie, char * szAv)
CommentSender * cs = new CommentSender;
cs-&SetInfo(szMsg, szCookie, szAv);//根据参数生成POST请求数据包
char * szRecvBuf = new char[1024]; memset(szRecvBuf, 0, 1024);
EncapBy2019::TCP tcp(BILIBILI_IP ,80,0);//IP,端口,最后一个参数请无视
//然后这个类是我自己封装的一个TCP类,把socket封装进去了,原理是一样的,这里就不说了,TCP范例网上大把。。。
if (tcp.Connect() == 0)//connect方法中,我封装了socket()和connect()。。。
delete cs;
delete[] szRecvBuf;
tcp.send(cs-&szHeader, strlen(cs-&szHeader));//这步就是关键了,发送
memset(szRecvBuf, 0, 1024);
int iRet = tcp.recv(szRecvBuf, 1024,5);//接收返回报文
tcp.DisConnect();
delete cs;
delete[] szRecvBuf;
return iRet;//返回接收到的长度
//当然还要判断发回来的JSON,比方说有没有验证码,发送是否成功,这里为了简化,就不判断了
最后这一切都被封装到sendcomment这个函数里面了,我只要调用就发送OK了。。。接下来,我们就要对“刷新番剧页面”进行代码实现了。。。这个“刷新番剧页面”,本质上就是一个GET的请求,然后收到这个GET请求的返回数据包之后,对其进行分析,如果最新一集的AV号改变了,那么就对这个AV好进行sendcomment函数的调用,即发送评论。。。我们来直接看代码:#define PAGECOMPRSIZE (1024*16)
#define PAGESIZE ()
#define BILIBILI_IP "114.80.223.172"
class AnimeFromList//这个类就是用来刷新番剧页面的。。。
AnimeFromList();
~AnimeFromList();
bool LoadPage(char * szAnimeID,unsigned short sVpnPort);
//load page 顾名思义,利用TCP,刷新页面
//这边我还考虑到了VPN使用的可能性,但是这不是我要讲的重点,所以vpn port这个参数,就设为0好了
//AnimeID指的是番剧号,大家可以在b站留心一下就能发现每个番剧都有一个ID...
char* FindLastAv(char* szAvDes);
//顾名思义,找到最新的AV号,塞到szAvDes中
char * szPageRaw;//原始数据包
char * szPage;//真正的html脚本
char * szPageCompr;//把chunked拼接后的数据包
static char szHeaderFormat[];//POST请求头的模板
static char szHeaderFormatVpn[];//VPN用的,这里无视掉吧。。。
char * szHeader ;//用来放GET的请求。。。
AnimeFromList::AnimeFromList()
szPageRaw = new
char[PAGECOMPRSIZE];
memset(szPageRaw, 0, PAGECOMPRSIZE);
szPage = new
char[PAGESIZE];
memset(szPage, 0, PAGESIZE);
szPageCompr = new
char[PAGECOMPRSIZE];
memset(szPageCompr, 0, PAGECOMPRSIZE);
szHeader = new char[1024];
memset(szHeader, 0, 1024);
//各种初始化,不用说了吧
AnimeFromList::~AnimeFromList()
delete[] szPage;
delete[] szPageCompr;
delete[] szPageRaw;
delete[] szHeader;
bool AnimeFromList::LoadPage(char * szAnimeID,unsigned short sVpnPort)
int iRet = 0; int iRec = 0;
if (!sVpnPort)//我们这边只看这里面就OK了,else里面的是VPN的代码,无视掉即可
sprintf_s(szHeader, 1024, this-&szHeaderFormat, szAnimeID);
//用szHeaderFormat,设置GET请求
EncapBy2019::TCP tcp(BILIBILI_IP, 80, nullptr);
if (!tcp.Connect())
printf("connect() failed");
return false;
tcp.send(szHeader, strlen(szHeader));
memset(szPageRaw, 0, PAGECOMPRSIZE);
iRet = tcp.recv(szPageRaw + iRec, PAGECOMPRSIZE - iRec, 5);
if (iRet == 0)break;
iRec += iRet;
tcp.DisConnect();
//然后就发送,while然后recv是为了接收分段的chunk数据包
//recv方法最后一个参数是超时时间,用的是select模型,这里就不详细讲了
if (iRec == 0)
printf("获取AnimeID时Recv失败\n");
return false;
else//这个代码块无视掉吧
sprintf_s(szHeader, 1024, this-&szHeaderFormatVpn, szAnimeID);
EncapBy2019::TCP tcp("127.0.0.1", sVpnPort, nullptr);
if (!tcp.Connect())
printf("connect() failed");
return false;
tcp.send(szHeader, strlen(szHeader));
memset(szPageRaw, 0, PAGECOMPRSIZE);
iRet = tcp.recv(szPageRaw + iRec, PAGECOMPRSIZE - iRec, 5);
if (iRet == 0)break;
iRec += iRet;
tcp.DisConnect();
if (iRec == 0)
printf("获取AnimeID时Recv失败\n");
return false;
memset(szPage, 0, PAGESIZE);
memset(szPageCompr, 0, PAGECOMPRSIZE);
int iLen = ConvertChunkedToNormal(strstr(szPageRaw, "\r\n\r\n") + 4, szPageCompr, PAGECOMPRSIZE);
ungzip(szPageCompr, iLen, szPage);
//这两个函数,一个用来拼接chunk,一个用来解压,怎么实现的就不多说了,百度一堆。。。
//如果大家嫌麻烦可以在请求头里把压缩的选项(Accept-Encoding: gzip\r\n)删掉,不过这样大大降低传输速度。。。
return true;
char* AnimeFromList::FindLastAv(char* szAv)
char* i = strstr(szPage, "playnow: \'");
//这个strstr是找最新一集的AV号,我看过b站番剧页面的html脚本,里面有个JavaScript,然后里面很幸运地有最新一集的AV号。。。我这边直接拿strstr匹配了。。。就没用正则
以下是javascript
&script type="text/javascript"&
BangumiModules.init({
seasonId: 5017,
shareData: {
url: location.href,
title: '#bilibili#分享 番剧 “食戟之灵 贰之皿”',
desc: '#bilibili#分享 番剧 “食戟之灵 贰之皿”'
playnow: '6398082',
finished: 1,
copyright: false,
pubTime: ' 22:00:00',
newestEp: '13'
}//没找到,就返回0
char* p = i + 10;//10便是"playnow: \'"的长度、、、
for (i+=10; *i &= '0'&&*i &= '9'; i++){}//执行完这个之后,i便指向数字后面的一个字符,请大家自行领会
*i = 0;//把它设为0
printf("线程%u找到Av:%s\n", GetCurrentThreadId(), p );
//输出一下,之所以要输出线程ID是因为待会要用多线程。。。
strcpy_s(szAv, 32, p);//这个32其实填的有点不好。。。应该传参进来的。。。不过无所谓了。。。
//执行完这个函数之后呢,传进来的指针所指向的buf就被填充成了最新一集的AV号
__declspec(selectany) char AnimeFromList::szHeaderFormat[] = "GET /anime/%s HTTP/1.1\r\n"
"Host: \r\n"
"Connection: close\r\n"
"Cache-Control: max-age=0\r\n"
"Accept: text/html,application/xhtml+xml,application/q=0.9,image/webp,*/*;q=0.8\r\n"
"User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0. Safari/537.36 SE 2.X MetaSr 1.0\r\n"
"Accept-Encoding: gzip\r\n"
"Accept-Language: zh-CN,q=0.8\r\n\r\n"
__declspec(selectany) char AnimeFromList::szHeaderFormatVpn[]="GET /anime/%s HTTP/1.1\r\n"
"Host: \r\n"
"Proxy-Connection: close\r\n"
"Cache-Control: max-age=0\r\n"
"Accept: text/html,application/xhtml+xml,application/q=0.9,image/webp,*/*;q=0.8\r\n"
"User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0. Safari/537.36 SE 2.X MetaSr 1.0\r\n"
"Accept-Encoding: gzip\r\n"
"Accept-Language: zh-CN,q=0.8\r\n\r\n"
这个类其实已经可以直接用了,先LoadPage,然后FindLastAv,最后判断,如果Av不一样了,那就发送评论。。。但是呢,天下抢楼,唯快不破,这边我要用多线程,不然这个太慢了。。。以下就是多线程的实现。。。先来大概讲下我这个多线程的思路吧,首先我不停地创建线程,然后每个线程做以下几件事情:1.调用LoadPage加载页面2.调用FindLastAv找到最后一集的Av号3.把这个Av号作为一个字符串(string类),push到STL的一个队列里面PS:其实这里不停地创建线程可以优化成每个线程死循环做同样的事情,这里我懒得优化了,反正也不难然后呢,main函数通过调用某个方法,实现从队列中取出一个字符串,然后在将这个字符串与上一个AV号进行比较,如果AV号改变了(即更新了),就发送一个评论(调用SendComment)class MultThrdForAnimeList
MultThrdForAnimeList();
~MultThrdForAnimeList();
int StartThread(string * AnimeID);//这个函数用来做初始化。。。
bool GetString(char*);//从对列中pop出一个字符串,主函数到时候就调用这个
bool IfEmpty();//判断队列是否为空,用于当队列为空时进行阻塞
CRITICAL_SECTION cs;//用于做queue的互斥
string strID;
queue&string& lQueue;//这边用了STL的queue
int iNumOfThr;
CRITICAL_SECTION cs4Num;//用于做线程数的互斥
static unsigned int _stdcall SendThread(void*);
static unsigned int _stdcall CreateSendThread(void*);
MultThrdForAnimeList::MultThrdForAnimeList()
InitializeCriticalSection(&cs);
InitializeCriticalSection(&cs4Num);
iNumOfThr = 0;
MultThrdForAnimeList::~MultThrdForAnimeList()
DeleteCriticalSection(&cs);
DeleteCriticalSection(&cs4Num);
int MultThrdForAnimeList::StartThread(string * AnimeID)
strID = *AnimeID;
return _beginthreadex(0, 0, MultThrdForAnimeList::CreateSendThread, this, 0, 0);
bool MultThrdForAnimeList::GetString(char* szEpsID)
while (IfEmpty()){}//阻塞,直到队列不为空
EnterCriticalSection(&cs);
if (!lQueue.empty())
string str;
str = lQueue.front();
lQueue.pop();
strcpy_s(szEpsID, 32, str.c_str());
LeaveCriticalSection(&cs);
return true;
LeaveCriticalSection(&cs);
return false;
bool MultThrdForAnimeList::IfEmpty()
EnterCriticalSection(&cs);
bool ret = lQueue.empty();
LeaveCriticalSection(&cs);
return ret;
unsigned int _stdcall MultThrdForAnimeList::SendThread(void* pThis)
//这个线程函数调用LoadPage和FindLastAv,然后把AV号塞到队列里去
char szAv[32]; string str;
MultThrdForAnimeList* This = (MultThrdForAnimeList*)pThis;
AnimeFromList a;
if (!a.LoadPage((char*)This-&strID.c_str(),0))
EnterCriticalSection(&This-&cs4Num);
This-&iNumOfThr--;
LeaveCriticalSection(&This-&cs4Num);
if (!a.FindLastAv(szAv))
EnterCriticalSection(&This-&cs4Num);
This-&iNumOfThr--;
LeaveCriticalSection(&This-&cs4Num);
str = szAv;
EnterCriticalSection(&This-&cs);
This-&lQueue.push(str);
LeaveCriticalSection(&This-&cs);
EnterCriticalSection(&This-&cs4Num);
This-&iNumOfThr--;
LeaveCriticalSection(&This-&cs4Num);
return str.length();
unsigned int _stdcall MultThrdForAnimeList::CreateSendThread(void* pThis)
if (((MultThrdForAnimeList*)(pThis))-&iNumOfThr &= 10)//这个10可以根据你自己的网速改,网速越快,可以调得越高,我家50ping,大概就10
//这个小于等于10就是用来抑制线程数的
_beginthreadex(0, 0, MultThrdForAnimeList::SendThread, pThis, 0, 0);
EnterCriticalSection(&((MultThrdForAnimeList*)(pThis))-&cs4Num);
((MultThrdForAnimeList*)(pThis))-&iNumOfThr++;
LeaveCriticalSection(&((MultThrdForAnimeList*)(pThis))-&cs4Num);
Sleep(50);//网速越快,这个可以调得越小
//最后就是主函数了
int main()
WSADATA wsa;
string str;
if (WSAStartup(MAKEWORD(2, 2), &wsa))
printf("网络环境初始化失败\n");
char* szCookie = new char[2048]; memset(szCookie, 0, 2048);
char* szLastAv = new char[32]; memset(szLastAv, 0, 32);
char* szMsg = new char[4096]; memset(szMsg, 0, 4096);
char * szID = new char[32]; memset(szID, 0, 32);
GetCookieFromFile(szCookie, 2048);
GetMsgFromFile(szMsg, 4096);
GetIDFromFile(szID, 32);
str = szID;
mtl.StartThread(&str);
GetLastAvFromFile(szLastAv, 32);
//这几个GetXXXFromFile基本上就是从文件中获取信息,就是FILE的操作之类的,这里就不详细讲了
str = szLastAv;
lOld.push_back(str);
*szLastAv = 0;
mtl.GetString(szLastAv);//从队列中取一个字符串出来,这里看不到队列,因为我已经把它封装起来了
printf("最新视频AV为:%s\n", szLastAv);
str = szLastAv;
if (find(lOld.begin(), lOld.end(), str) == lOld.end())
while (!SendComment(szCookie, szLastAv, szMsg));
lOld.push_back(str);
delete[] szID;
delete[] szCookie;
delete[] szLastAv;
delete[] szMsg;
WSACleanup();
//基本上就这么多,个人认为讲的蛮清楚了,基础知识比方说HTTP协议啊我就不讲了,百度一下吧,不难
说句白话,幼稚。我从来不看第一楼是谁,也不想去抢什么第一楼。如果你的青春无法安放那去做mmd啊。
谢邀,我跟当事人认识,所以不好说什么。再次感谢邀请。
这不好,这不符合价值观,建议封了(手动滑稽)
之前已经有人给了比较详细的脚本攻略了,我就再加一条keep-live可以减少每次请求连接服务器需要的时间。我是up,抢楼没啥意义,然而不是的话我也许也会去抢的。讲道理,有这个闲功夫贡献一个多网站投稿工具多好。自动补弹幕的工具也好啊,远胜于抢楼这种无聊事。
看到1772请求数你怕了吗如图,逼站是没有访问频率限制的,所以完全可以拼网速。
本来想给 的答案点个赞就滚的,不过看到有人表示法不禁止即可为 ,不由联想到同样是这个网站,某up就因为做了未曾明令禁止的事而被封号,只能说我现在心如刀割
已有帐号?
无法登录?
社交帐号登录

我要回帖

更多关于 天下镖抢不到 的文章

 

随机推荐