幻象客 - 博客分类页面

    能自动通知、同步微博的失物招领系统开源啦!


    in php , 干货 , 程序语言 2018-12-07

    项目源代码及详细的使用说明如下,喜欢请给个star:

    https://github.com/Ckend/LostAndFound

    这是之前为校学生会和网络协会制作的一个失物招领系统,主要功能如下:

    laf1

    失物招领流程如下:

    laf2

    由于是大二时的作品,设计有点稚嫩,数据库中表的构建略为冗杂,你可以进行改进;前端打包生成的app.js约1.3M, 可以进一步优化。此外,因为是和校学生会合作的项目,因此是线上线下结合的,你也可以稍作修改,编成纯线上作品。

    失物招领web端

    这一部分包括系统展示页和后台管理页、企业号自动通知和微博同步功能。

    系统展示页

    系统展示页包括学校名称、各学院名称、失物简介、证件类与非证件类的查看、搜索框、失物详情。如下图所示

    laf3

    后台管理页

    包括超级系统管理页面、分校区管理页面。其中超级系统管理页面需要设定学校名称,及各校区基本情况。以及配置微博信息和企业号信息。如下图所示。

    laf4

    分校区后台管理页面包括失物基本信息上传和修改,设置已领取、已领取人的信息等功能,如下图所示。

    laf5

    laf6

    企业号自动通知与微博同步功能

    为确保同学们能及时收到失物信息,我们设计了卡类失物微信自动通知功能和非卡类失物微博同步功能,如下图所示。

    laf7

    laf8

    失物招领小程序端

    从同学们的调查问卷结果中我们可以知道,90%的同学通过微信来获取信息,因此抓住手机端的优势非常重要,所以我们开发了小程序端来相应同学们的需求。

    阅读更多...

    [准确率:98%] 改进朴素贝叶斯自动分类食品安全新闻


    in Python , 机器学习 , 神经网络及深度学习 , 程序语言 , 算法 2018-11-29

    这是本系列第二篇文章,位于源代码的 2. NB_Weights 中:

    https://github.com/Ckend/NLP_DeepLearning_CN_Tutorial

    前一篇文章中,我们学习了如何使用朴素贝叶斯自动分类食品安全新闻,准确率为97%,这一篇文章将教大家如何改进这个模型。阅读本篇文章之前,建议先阅读前一篇文章:[准确率:97%] 朴素贝叶斯自动分类食品安全新闻,否则有些概念可能无法理解。

    在那篇文章中,在训练的时候,朴素贝叶斯模型中所有词语都是相同的权重,而事实上真的如此吗?我们怎么样才可以知道哪些词语更加重要呢?这时候,数理统计就派上用场了。

    我们先对所有的食品安全新闻和非食品安全新闻使用结巴(jieba)分词, 然后统计各个词性在这分别在这两个类别中的数量,比如说名词的结果如下表(使用SPSS得到,其他词性就不一一展示了),显然食品安全新闻中名词的数量多于非食品安全新闻,这也是在人意料之中的结果,但是这并不代表着对于食品安全新闻,名词的重要性就大于其他的词性:

    改进朴素贝叶斯-1

    那么如何确定各个词性对分类的重要性呢?单纯根据频率和频数确定是比较复杂的,我们可以尝试使用我们的模型,比如说,先得到一个基准的准确值,然后尝试去除掉名词得到一个准确值,观察这两个准确值的差距,如果非常大,说明名词具有比较重要的地位。我们可以试一下:

    在所有词性权重都为1的情况下(基准)进行训练

    阅读更多...

    爬取淘宝某关键词的所有商品及其信息


    in Python , 爬虫 , 程序语言 2018-11-24

    源代码:https://github.com/Ckend/taobao_scrapy

    语言:Python3

    爬取平台:手机端

    PS:在当前文件夹下先创建好result文件夹

    源代码包含两个Python文件,get_items.py 用于通过关键词获得商品基本信息,包括商品名称、店铺、销量、评论数、图片、优惠、出货地、原价等等。输出格式为.csv文件。

    另一个Python文件: get_review_cloud.py 用于通过userID和itemID (从get_items.py中获得这两个信息) 获得某商品的评论云。输出.csv文件。

    源代码很简单,十几行,逻辑如下:

    1. 访问接口(f=urllib.request.urlopen(url))

    2. 读取源代码并解码为utf-8然后转化为json

    3. 写入至.csv文件。

    以下给出get_items.py的内容,其他的请见GitHub,如果你有收获,请帮忙点个Star~

    get_items.py:

    
    import urllib.request
    
    import urllib.parse
    
    import json
    
    import csv
    
    def write_csv(data, filename):
    
        count = 0
    
        with open(filename, 'a') as outf:
    
            dw...

    阅读更多...

    [准确率:97%] 朴素贝叶斯自动分类食品安全新闻


    in Python , 机器学习 , 算法 2018-11-08

    教程源代码点击阅读原文或访问:

    https://github.com/Ckend/NLP_DeepLearning_CN_Tutorial

    利用朴素贝叶斯来分类食品安全新闻(标题)这种短文本其实精确度并不高,在实际的生产中,由于食品安全和非食品安全的数量差异,我们会发现1000条新闻中可能才出现2条食品安全新闻,也就是说,即便你的模型准确率为95%,1000条新闻中依然会有许多新闻 (50条) 会被错分类,这是一个非常糟糕的结果。因此在生产环境中,如果模型准确率不能高达99%,甚至都无法使用。在我们的研究下,使用朴素贝叶斯,我们的准确率能提高到97%,使用改进的朴素贝叶斯准确率能达到98%以上,使用字符级的卷积神经网络甚至能达到99%,后续的教程我会介绍这两种方法。

    为了后续的教程,我们还是先利用最简单的朴素贝叶斯来理解“训练”这个概念。为了尽量简化教程的难度,我尽量不使用数学公式进行讲解,更多的以自然语言和Python代码进行分析。在这个教程中,你所需要的东西有:

    python 3

    jieba 分词

    numpy

    sklearn (用joiblib保存模型)

    训练

    朴素贝叶斯的训练,其实就是遍历整个训练集,算出每个词语在不同的分类下出现的概率(该词语/该分类总词数)。最后得到两个向量,这两个向量分别代表了每个词语在食品安全新闻和非食品安全新闻中出现的概率。

    for i in r...

    阅读更多...

    利用股市找到已有或潜在食品安全问题的上市企业


    in Python , 程序语言 , 算法 , 闲谈 2018-05-26

    当某个股票保持下跌的时候,你可以肯定该股票一定有什么地方不对,要么是它的市场,要么是它的公司。——利弗莫尔

    最近食品安全项目成功升到国家级,对我而言真的是个挑战,无论是朴素贝叶斯分类新闻还是数据分析其实都到了瓶颈阶段(即便过了瓶颈还有瓶盖),真的是绞尽脑汁都不知道问题出现在哪里。因此想换一个思路,结合自己最近的研究,提出了这个比较新颖的想法:利用股票市场找到已有或潜在食品安全问题的企业。

    为什么会有这个想法呢?我们知道食品安全事故发生的时间点和媒体报道的时间点之间实际上是有一个间隔的,然而相关利益人士、内部人士却能提前知道事件的发生。比如说,2012年11月19日,酒鬼酒被国家质检总局爆出塑化剂超标247%,但是在19号之前,酒鬼酒的收盘价却神奇地从2012年11月2日的55元回落到2012年11月16号的46元。然而国家质检总局的消息是在2012年11月19号才发布的。而且这样的下跌,明显违背该股票当时上涨的趋势,在10月底时,它的股价已突破周K的压力线,却很不自然地下跌了?而且还违背了许多技术指标,如1号、14号、16号,KDJ和BOLL指标明显提示上涨,在股市这种情绪化的市场中,有人却不为所动,仍然售出大量股票导致其不正常下跌。

    股市 食品安全

    2012年11月19号消息公布时紧急停牌,复牌后有三个跌停,股价暴跌48%,但我相信某些人已经成功躲开了这场股灾。

    找到已有或潜在食品安全问题

    阅读更多...

    做了一个自动分享到微博的插件


    in php , 干货 , 技术原理 , 程序语言 2018-02-25

    网站的宣传是一个特别令人头痛的问题,为了增加流量,进军微博是个好方法。昨天花了一天的时间做了个WordPress文章发布时自动分享到微博的插件。支持自定义模板和图片。

    阅读更多...

    <博客重构>基于Anyproxy使用"中间人攻击"爬取公众号推送


    in JavaScript , 干货 , 技术原理 , 爬虫 , 程序语言 , 计算机安全 2017-11-12

    感谢:https://zhuanlan.zhihu.com/p/24302048

    以前博客一直使用的是别人制作的框架,typecho、WordPress等都有使用过,但由于是别人的框架,始终不知道其内部运作的原理。这次使用Node.js完全重构了一遍,使得我对整个博客的运作原理清晰了许多,以前看起来很复杂的东西(WordPress 留下的第一印象,虽然WordPress其实不全是用来做博客的),现在看起来竟是这么简单,如果有用框架搭建博客的朋友,建议完全自己做一个试试。当然,这些都不是本次推送的重点,半自动化爬取自己的公众号推送才是重点。

    爬取所需要的环境与工具:

    后端:Node.js + MongoDB

    代理服务器:Anyproxy

    一个安卓模拟器

    服务器环境:

    Node.js + MongoDB

    首先介绍一下Anyproxy, 这是一个基于Node.js的代理服务器,本项目中,Anyproxy的作用如下:若把我们本机当做代理服务器,手机模拟器中的微信当成客户端,那么其运作原理可以如下图所示。手机客户端(Client)发送请求给代理服务器(Server,即本机),本机再将这个请求发送给微信服务器,微信服务器返回信息需要经过本机,再由本机传递给手机客户端。

    anyproxy 中间人攻击 爬取 微信公众号 文章

    在这个过程中,本机承担中间人的作用,而接受到微信返回的信息后,我们可以对那个信息植入脚本,再发送给手机客户端。这就是

    阅读更多...

    使用决策树判断各种标准对新生加入社团的影响


    in Python , 机器学习 , 程序语言 , 算法 2017-09-23

    决策树 新生 社团 加入 标准

    倘若我们拥有许多数据,而且能够恰当地使用决策树,我相信将能创造不小的价值

    由于微信编辑器的问题,没办法上传源代码上来若您需要源代码进行参考请访问https://alltoshare.com/dt_judge/

    在尝试的过程中,您或许会发现很多问题,比如Python中文编码问题,matplotlib编码问题等等,希望在这过程中您可以妥善地利用搜索引擎解决问题

    其实决策树的应用非常广泛,尤其是在预测方面,我所介绍的不过其冰山一角。更详细的参考文献,请看维基百科https://zh.wikipedia.org/wiki/%E5%86%B3%E7%AD%96%E6%A0%91

    幻象客 二维码

    阅读更多...

    使用BeautifulSoup爬取新浪所有国内要闻


    in Python , 爬虫 , 程序语言 2017-09-10

    教你如何用beautifulSoup和lxml解析器爬取新浪新闻

    阅读更多...

    为京东秒杀列表网添加缓存机制


    in php , 技术原理 , 程序语言 2017-07-10

    制作PHP缓存页面,否则每一次用户访问这个网站都会访问一次那个接口,当访问人数变得很多很多时,这个接口将会非常拥挤

    阅读更多...