Posts Tagged ‘饭否’

饭否消息备份Python脚本

使用API接口备份饭否消息为XML格式,Python3.0。 有人说API只能导出前3200条消息,其实是可以导出所有消息的,只不过用的参数不同而已。 导出为XML的缺点就是数据好大,我5700+消息导出来有10M。 另外还有一个问题就是饭否的bug了,导出的xml如果里面还有特殊unicode字符时会导致解析器抛异常,其实饭否输出的时候应该进行xmlencode一下的。 大概就是这样。下面是代码刷屏,过敏者请勿点击。

【撞墙】那啥,反正已经蛋痛过一次了……再来画图吧

下午很蛋痛的用正则表达分析网页去了,然后刚才发现原来饭否提供的API里面有直接搜索的API,OTL…… 蛋痛并继续蛋痛吧,吧频率图的程序补完- -,依赖pygooglechart @ pygooglechart.slowchop.com 然后不负责任的贴代码走人,output_fqcd是前一个程序的输出- – Python不支持unicode的模块名么? # -*- coding: UTF-8 -*- from output_fqcd import fanfou_data mapdata = map(lambda data: data['time'][2:7] ,fanfou_data) def reduce_func(d,r): if r in d: d[r] = d[r]+1 else: d[r] = 1 return d data = reduce(reduce_func,mapdata,{}) new_data = [] for x,y in data.iteritems(): new_data.append((x,y)) new_data.sort(lambda a,b: cmp(a[0],b[0])) print(new_data) x_data = [...]

【蛋痛】吧饭否的老底翻出来

蛋痛的饭否搜索抓取,开始的时候被饭否耍了一下,url里面有个p的参数是控制最大搜索数量的。 抓取结果保存为python模块(Python3.0) #!/usr/bin/env python # -*- coding: UTF-8 -*- import urllib.request import re key_word = ‘番茄操蛋’ key_enc = urllib.parse.quote(key_word) #不用代理的无视 proxy_support = urllib.request.ProxyHandler({“http” : “http://192.168.60.250:8080″}) opener = urllib.request.build_opener(proxy_support) urllib.request.install_opener(opener) def load(url): f = urllib.request.urlopen(‘http://fanfou.com’ + url) resp = f.read().decode(“utf-8″) f.close() return resp user_re = re.compile(r’<a href=”/(?P<uid>[^"]+?)” title=”(?P<nick>[^"]+?)” class=”avatar”><img src=”(?P<avatar>[^"]+?)”.+?<span class=”content”>(?P<content>.+?)</span>.+?<a href=”/statuses/(?P<mid>[^"]+?)” class=”time” title=”(?P<time>[^"]+?)”>’) next_re = [...]

由番茄操蛋说开去

昨天饭否上发生了一件很有意思的事情,有几位闲到蛋痛的童鞋(包括我在内)立志要把一个从来没听过的词“番茄操蛋”推倒饭否的热门话题里面去,当然这个假设的前提是饭否的热门话题的选择是自动的依靠某种算法和数据,得到的结果(类似于Google那样的关键字排序)。但是我在这里想讨论的不是这个问题,而是另外一个问题:社会化的SNS网络信息传播模型,以及这个网络对“恶意”的虚假信息的免疫能力。事先声明的是:我只是计算机系的学生,数学或者社会学方面的能力和知识菜的要死,所以说下面的分析和结论都只是我一个人YY的结果,有玉请砸,有槽就吐。 1,数学模型我们吧问题抽象一下,每个人看作网络中的一个节点,类似于我们网络中的路由器,这个节点通过若干条单向线路与其他节点相连(被他人关注),那么我们得到第一个模型:任何一个节点所发出的信息被其他节点接受并且转发(重复的转发可以无视),这样看来,只要污染源选择的当,那么虚假的消息就会很快传播到整个网络。但是现实不是这么美好的,事实上我们的节点之间的通讯不是完美的,有一定的丢包率(此节点不把收到的消息转发出去,比如他对此消息不感兴趣)和误码率(节点转发的消息经过修改),所以说要想使消息更快更准确的消息,我们不得不有意识的选择多个干扰源,使得这种干扰的效果最大化。在节点的选择上,我们可以参考数据结构中有关图的某些知识,比如关键点和最小生成树。2,引入社会学和概率论但是,这个模型还远远不够,显示世界中还存在这对我们这些干扰者不利的因素,比如反论调,网络中的节点是人类,人类的特点就是可以对收到的信息进行思考,并且得到一个结论,由于网络的匿名性和虚拟性,人对消息的有可能采取不信任的态度,并且很有可能得出并传播与我们所希望的结论相违背的结论,对此我们可以采取的做法就是:谎言重复1000次,他就变成真相,并且如果可能的话,有意识的阻断持相反看法者与其他节点的联系。此节点的存在规律应该是服从某种统计学的定律(或者规律)。另外,事实证明单独的人类可能是聪明的,具有是非判别能力的。但是如果一群人类,尤其是相互间的信息交换频繁时,这种判别能力往往会降低,所以我们的信息对大环境污染到一定程度时,有一定概率扑灭或者同化反对者,但是,基于同样的理由,如果反对者在信息传播初期就开始对网络产生影响,那么对信息的传播是很不利的。3,数据统计前面我一直是站在信息传播者的角度来考虑问题的,现在我们不妨换个角度,从旁观者的角度研究一下整个消息的传播流程。对于此事件来说,饭否的搜索功能无疑为我们提供了研究的便利条件,我们可以通过程序分析并查找消息的传播源,传播途径和传播速度。最开始我想到的方法就是历遍所有有关番茄操蛋的消息,然后按照时间排序同时进行正则匹配,查找不同节点之间的消息联系(也就是@)从而生成一张树状结构图,但是有同学(@知何处)表示,节点间的信息传播不一定是点对点方式的,而是点对多点,甚至是广播形式,所以直接生成树的话,这颗树一定会有很多独立的小树,而不是我们期望的完整的消息传播树。而我也没想到什么更好的统计方式,所以只能这样放着了。4,其他那么研究这东西有什么用呢?我认为对两种人很有用:一种是五毛们,一种是美分们,这两种人时候都在竭尽全力在我们的网络中制造烟雾,引导舆论,如果有一个完备的数学,或者是社会学模型的话,五毛们的工作就会相应的轻松很多,而且不容易犯错误,从而为国家节省了宝贵的电力(大雾)。另外,根据某个定律:“如果你想到了某些事,那么你一定不是第一个想到这个的人”。我们的生活中是不是已经开始充斥了某些舆论控制或者是虚假信息的存在呢?这个东西想起来还真让人觉得恶心呢。 PS:到目前为止,番茄操蛋还是没有上饭否的热门话题,这对番茄操蛋教的教徒来说,无疑是一个严重的打击。

春菜 对话 相声
双击调戏
双击调戏