主页

拉普拉斯矩阵

拉普拉斯矩阵是图论中用到的一种重要矩阵,给定一个有n个顶点的图 G=(V,E),其拉普拉斯矩阵被定义为 L = D-A,D其中为图的度矩阵,A为图的邻接矩阵。例如,给定一个简单的图:

阅读更多

受限玻尔兹曼机RBM

RBM的基本概念 受限玻尔兹曼机(Restricted Boltzmann Machine)由G.Hinton教授提出。RBM是一种无向图模型,也是一种神经网络模型。 RBM具有两层:可见层(V层),以及隐藏层(H层) 两层神经元之间是全连接的,但是各自层的神经元之间却没有连接,也就是说,RBM的图结构是一种二分图(bipartite graph)。正是这个特点,所以才叫受限玻尔兹曼机。 受限玻尔兹曼机其实允许同一层之间的神经元相连接的。RBM其实是一种简化了的BM模型。 RBM的神经元都是二值化,也就是说只有激活和不激活这两种状态,也就是0或者1。 可见层(V层)和隐藏层(H层)之间的边的权重可以用$W$来表示,$W$是一个$|V|\times|H|$的实数矩阵。 因为...

阅读更多

selenium跳过webdriver检测并爬取淘宝我已购买的宝贝数据

简介 上一个博文已经讲述了如何使用selenium跳过webdriver检测并爬取天猫商品数据,所以在此不再详细讲,有需要思路的可以查看另外一篇博文。 源代码 # -*- coding: utf-8 -*- from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC from pyquery import PyQuery as pq from t...

阅读更多

selenium跳过webdriver检测并爬取天猫商品数据

简介 现在爬取淘宝,天猫商品数据都是需要首先进行登录的。上一节我们已经完成了模拟登录淘宝的步骤,所以在此不详细讲如何模拟登录淘宝。把关键点放在如何爬取天猫商品数据上。 过去我曾经使用get/post方式进行爬虫,同时也加入IP代理池进行跳过检验,但随着大型网站的升级,采取该策略比较难实现了。因为你使用get/post方式进行爬取数据,会提示需要登录,而登录又是一大难题,需要滑动验证码验证。当你想使用IP代理池进行跳过检验时,发现登录时需要手机短信验证码验证,由此可以知道旧的全自动爬取数据对于大型网站比较困难了(小型网站可以使用get/post,没检测或者检测系数较低)。 selenium是一款优秀的WEB自动化测试工具,所以现在采用selenium进行半自动化爬取数据。 编写思路...

阅读更多

selenium跳过webdriver检测并模拟登录淘宝

简介 模拟登录淘宝已经不是一件新鲜的事情了,过去我曾经使用get/post方式进行爬虫,同时也加入IP代理池进行跳过检验,但随着大型网站的升级,采取该策略比较难实现了。因为你使用get/post方式进行爬取数据,会提示需要登录,而登录又是一大难题,需要滑动验证码验证。当你想使用IP代理池进行跳过检验时,发现登录时需要手机短信验证码验证,由此可以知道旧的全自动爬取数据对于大型网站比较困难了。 selenium是一款优秀的WEB自动化测试工具,所以现在采用selenium进行半自动化爬取数据,支持模拟登录淘宝和自动处理滑动验证码。 编写思路 由于现在大型网站对selenium工具进行检测,若检测到selenium,则判定为机器人,访问被拒绝。所以第一步是要防止被检测出为机器人,如何防止...

阅读更多

基于python tkinter的豆瓣电影助手

项目简介 这个项目源于大三某课程设计。平常经常需要搜索一些电影,为了方便使用,就将原来的项目重新改写了。由于是基于python tkinter进行桌面端开发的,所以相对WEB端来说,可能不是特别方便。 配置说明 打开http://phantomjs.org/download.html,根据自己的操作系统下载对应的phantomjs 打开当前面目录下的getMovieInRankingList.py,定位到第86行,将executable_path=phantomjs-2.1.1-macosx/bin/phantomjs修改成你自己的路径,如executable_path=xxx/bin/phantomjs 打开pycharm,依次安装以下包 pip ins...

阅读更多

在Drcom下使用路由器上校园网WiFi

免责声明: 在根据本教程进行实际操作时,如因您操作失误导致出现的一切意外,包括但不限于路由器变砖、故障、数据丢失等情况,概不负责; 该技术仅供学习交流,请勿将此技术应用于任何商业行为,所产生的法律责任由您自行承担; 部分学校明令禁止使用路由器上网,相关文件请点击广东工业大学校园网责任书、厦门大学校园网责任书查看。本教程仅用于交流使用,安装路由器的行为完全是您个人意志所决定的,如您已成功安装,请在 24 小时内重置路由器至原出产状态; 请按照学校推荐的方式连接到互联网,如因个人问题受到相关校规追责,由您自行承担。 前言 本教程教您如何在Drcom下使用路由器上校园网(以广东工业大学、极路由1S HC5661A为例) 本教程适合使用Dr...

阅读更多

动态分区分配方式的模拟

实验目的: 了解动态分区分配方式中的数据结构和分配算法,并进一步加深对动态分区存储管理方式及其实现过程的理解。 算法了解: 首次适应算法(first-fit):从空闲分区表的第一个表目起查找该表,把最先能够满足要求的空闲区分配给作业,这种方法的目的在于减少查找时间。 最佳适应算法(best-fit):从全部空闲区中找出能满足作业要求的,且大小最小的空闲分区,这种方法能使碎片尽量小。 最差适应算法(worst-fit):它从全部空闲区中找出能满足作业要求的、且大小最大的空闲分区,从而使链表中的节点大小趋于均匀。 实验内容: 用C语言分别实现采用首次适应算法和最佳适应算法的动态分区分配过程和回收过程。其中,空闲分区通过空闲分区链(表)来管理;在进行内存分配时,系统...

阅读更多

进程调度-短进程优先算法

最近在学习操作系统的时候,为了加深自己对进程的了解,于是使用C语言模拟进程调度,首先写的是短进程优先算法。 进程PCB块 进程PCB块包含的成员变量有name作业名,state进程状态,arrivetime到达时间, runtime需要运行的时间, starttime开始时间,endtime完成时间,turnoverTime周转时间。 代码详解 main函数 为了快速了解短进程优先的算法,先展示main函数部分,以便能够知道程序的逻辑顺序。 int main() /*主函数*/ { char ch; int result; input(); //用户输入 node_number = space(); //取进程个数 p = ready; ...

阅读更多

goto基本语句总结

最近由于部分项目使用到了goto语句,所以需要去了解下。本篇文章将讲一下自己对于goto语句的理解和总结。 什么是goto goto语言又被称为无条件转移语句,听到无条件转移,一般人就会想到条件转移,所以对于系统程序员来说,一般会和硬件打交道,早期使用的还是汇编语言,所以是没有if else while的语句的。正因为goto语句有点汇编的意思,所以大多数所谓的大神级人物都会使用goto语句,其实不是因为他们用goto语句才显得厉害啦,而是可能习惯了汇编的语法。而现在大部分的程序员接触到的语句大多是结构化的语句比如if else while do,所以自然会多多少少抵触goto语句啦。 要不要使用goto 在这里就不探讨到底要不要使用goto语句啦,不同类型的程序有不同需求和习惯,...

阅读更多