如何从新闻中识别骗子的把戏
优采云 发布时间: 2020-08-08 00:08*原创作者: MR西角的论文是FreeBuf的原创奖励计划,未经许可严禁转载
电信欺诈猖ramp,已成为该国打击恐怖袭击的主要目标,但我们周围受骗的亲戚和朋友的悲剧仍在频繁发生. 这位年轻的作者认为,也许我们可以从新闻中提取电信欺诈的特征信息,以提醒家人中的长者和亲戚采取预防措施.
这位年轻的作家使用新闻网站作为平台来提取和分析与电信欺诈有关的新闻,试图从获得的信息中分析欺诈者的小“惯例”. (PS: 我曾经写过一篇文章,希望为您提供从新闻构建模型的想法,如果您缺少它,请纠正我)
首先,开始采集
当然,您需要采集器才能获取信息. 这是我使用的库:
这位年轻的作者首先浏览了一个大型网站,并在搜索栏中搜索了有关电信欺诈的新闻报道,但在翻页过程中其URL似乎没有变化,并且Firefox也看不到该帖子. 得到,但是在阅读了他的页码链接之后,我仍然有些激动,因为它的URL收录两个内容totalPage = 63&pageNum = 2,所以请编写您自己的URL.
Beautifulsoup是一个功能强大的库,我从属性a中获得源代码中的链接. 对于请求库,作者发现urlopen打开的网站的源代码与request + header的内容不同,请求返回的网站源代码更加完整.
下一步类似于上述方法,然后采集每个网站中的所有链接,将其写入列表,然后我们将分析所需网站的URL的特征,使用正则表达式获取链接并粘贴下面的代码:
获取链接后,我们可以浏览新闻,还应该获取新闻信息.
有数以千万计的新闻,有图片,没有图片,视频,没有视频,文本中的图片链接以及很多段落属性. 我真的看到了让我们忽略它并抓住它.
观察网站后,年轻作者将其分为四类. 有些是夹在两张图片之间的文本,有些是纯文本,依此类推. 根据这些内容,年轻的作者使用Beautifulsoup来抓取所有内容(Beautifulsoup确实功能强大,迫使安利). 当然,爬网的文本也是不可见的. 幸运的是,我们只需要中文内容和数字即可. 让我们使用正则表达式,因为我们使用gbk编码,所以pattern = [0-9 \ x80- \ xff] +,如果是utf-8,则是pattern = [0-9 \ u4e00- \ u9fa5] +,代码为发表在下面: (PS: 每个人在使用它时都必须注意编码类型,这很烦人. )
由于某些需要,我还获得了文本的标题,作者,哈希等. 您可以根据需要抓取相应的内容.
第二,下来进行关键字提取
为什么python是一种非常有用的脚本语言?因为它集成了许多库,所以我可以看一下jieba的中文分词库. 它的地址是
链接解霸库
pip install jieba pip install jieba.analyse在这里,小作者使用jieba.analyse.extract_tags(a,topK = 10)函数,a是文本内容的str变量,并且topK在10个单词中更频繁地出现,并且它们都被放入关键字列表中,并发布了源代码:
不要说python易于使用
三,关键字处理
我们已获得每篇文章的前10个关键字. 年轻的作者当前正在阅读“ Python Natural Language Processing”一书,该书解释了文本的特征,年轻的作者希望对欺诈情况和真实情况更加现实. 总会有差异,例如频率和频率. 某些单词的位置与普通文本的位置会有所不同,因此作者尝试处理关键字的出现频率.
我们之前获得的关键字是一个收录许多重复单词的列表,因此我们必须首先将列表转换为设置格式
例如:
<p>keyword1 = set(keyword)
result = {}
for key in keyword1:
count = keyword.count(key)
result[key] = count</p>
如果您使用的是python2.7,则可以
从集合导入计数器,然后:
这位年轻的作家目前只在这里写过. 您还可以从文本中获取关键字的位置,类型和逻辑关系,以构建欺诈类型的文本特征库. 当然,这也是全部. 后来,这位年轻的作家正在朝这个方向努力. 我希望年轻的作者可以为您提供处理电信欺诈*敏*感*词*的想法,并可以与您交流和学习. (PS: 请务必注意编码!!!)
最后发布我自己的结果:
由于这一年尚未结束,这位年轻的作家也祝大家新年快乐,并阅读有关Freebuf的更多信息.
*原创作者: MR西角的论文是FreeBuf的原创奖励计划,未经许可严禁转载