- 博客(59)
- 资源 (10)
- 收藏
- 关注
原创 Scrapy学习笔记-基本库的使用requests
使用get方法成功实现一个GET请求,返回类型是requests .models.Response ,响应体的类型是字符串str,Cookies的类型是RequestsCookieJar 。给GET请求添加参数r.text返回类型实际上是str类型,但是它很特殊,是JSON格式的。所以,如果想直接解析返回结果,得到一个字典格式的话,可以直接调用json方法,返回结果是JSON 格式的字...
2020-04-30 23:34:59 9612
原创 读书笔记:Hadoop权威指南 简介
数据来自美国国家气候数据中心(National Climatic Data Center,简称NCDC)。这些数据按行并以ASCII格式存储,其中一行是一条记录。下面显示了一行采样数据,为了给读者了解字段,拆分解释。从1901年到2001年,每一年都有一个目录,每个目录中包含各个气象站该年气象数据的打包文件及说明文件。MapReduce任务过程分为凉饿处理阶段:map阶段和reduce阶段...
2020-04-29 21:59:45 8932
原创 读书笔记-第一本Docker书:Docker简介
Docker时一个能够把开发的应用程序自动部署到容器的开源引擎。Docker的核心组件:Docker客户端和服务器(也称为Docker引擎),Docker镜像,Registry,Docker容器。Docker客户端和服务器Docker是一个客户端/服务器架构的程序。Docker客户端只需向Docker服务器或守护进程发出请求,服务器或守护进程将完成所有工作并返回结果。Docker守护进程有时也...
2020-04-25 15:19:54 8763
原创 Scrapy学习笔记-使用Crontab定期执行爬虫
通过前面的博客的讲解,我们学会了编写自己的第一个爬虫。下面介绍在redhat 6.5上使用Crontab定期执行该爬虫。首先按照前面的步骤新建爬虫项目,然后再新建一个start.sh脚本文件。测试crontab编写脚本,并测试效果。我们先测试一下crontab的执行效果,在脚本文件中写上如下代码cd /home/soft/tutorial echo test >> ./tes...
2020-04-24 20:34:12 8932
原创 Redhat 5.6下安装Anaconda3
直接下载速度太慢了清华大学开源镜像站https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/?C=M&O=D,找以Linux-x86_64.sh结尾的最新文件,比如我选此时最新Anaconda3-2020.02-Linux-x86_64.sh安装bash Anaconda3-2020.02-Linux-x86_64.sh...
2020-04-23 21:15:34 9213 5
原创 ubuntu 16.04 安装MongoDB 4.2 Community Edition
上一个博客我给Ubuntu 16.04安装了redis 5.0.8,这篇博客主要展示在该系统上安装MongoDB 4.2MongoDB 4.2社区版安装指南。使用本教程,可使用apt软件包管理器在Ubuntu Linux的LTS(长期支持)版本上安装MongoDB 4.2社区版。MongoDB Community Edition可从其自己的专用存储库中获得,并且包含以下官方支持的软件包:注...
2020-04-23 19:59:20 10089
原创 Scrapy学习笔记-解决Forbidden by robots.txt错误
去setting中设置ROBOTSTXT_OBEY为false。Scrapy默认遵守robots协议,所以针对某些网站,设置了robots.txt的规则,不允许爬取其中某些资源,则Scrapy就不会去爬取。通过去setting中设置ROBOTSTXT_OBEY为false:ROBOTSTXT_OBEY = False 即可不遵守协议,而去爬取对应页面内容了。...
2020-04-23 19:55:58 9331
原创 C++并发编程实战读书笔记——同步并发操作
One thread might need to wait for another thread to complete a task before the first thread can complete its own.等待事件waiting for an event当一个线程等待另一个线程完成任务时,它会有很多选择:第一,它可以持续的检查共享数据标志(由锁保护),直到另一个线程完成...
2020-04-22 16:02:44 8780
原创 Scrapy学习笔记-基本库的使用urllib
了解一下urllib库,它是Python内置的HTTP 请求库,也就是说不需要额外安装即可使用它,包含如下4 个模块。发送请求使用urllib的request模块,我们可以方便地实现请求的发送并得到响应。本节就来看下它的具体用法。urlopenurllib.request模块提供了最基本的构造HTTP请求的方法, 利用它可以模拟浏览器的一个请求发起过程, 同时它还带有处理授权验证( au...
2020-04-22 15:55:56 9127 1
转载 haipproxy学习分析-haipproxy架构及流程说明
这篇文章的目的是阐述haipproxy的主要架构和流程。该项目关键部分是基于Scrapy和Redis的分布式爬虫,用作IP抓取和校验,对应于项目的crawler基于Redis实现的分布式任务调度工具,对应于项目的scheduler和redis_util.pyCrawler分为代理抓取和校验,两者实现思想类似,主要使用Scrapy的spider_idle信号和DontCloseSpider...
2020-04-22 12:00:34 9024
原创 ubuntu 16.04 安装redis 5.0.8
上一个博客我给Ubuntu 16.04安装了SSH服务器,这篇博客主要展示在该系统上安装最新的redis 5.0.8,redis官方的地址为https://redis.io/download。在Linux安装软件通常有两种方式,第一种是通过各个操作系统的软件管理软件进行安装,例如CentOS有yum管理工具,Ubuntu有apt。但是由于Redis的更新速度相对较快,而这些管理工具不一定能更新到最...
2020-04-21 22:06:04 8963 1
原创 ubuntu 16.04-设置合上笔记本盖子不休眠
编辑下列文件:sudo vim /etc/systemd/logind.conf#HandlePowerKey按下电源键后的行为,默认power off#HandleSleepKey 按下挂起键后的行为,默认suspend#HandleHibernateKey按下休眠键后的行为,默认hibernate#HandleLidSwitch合上笔记本盖后的行为,默认suspend(改为ignore...
2020-04-21 17:37:12 10643
原创 ubuntu 16.04 安装SSH服务
上一个博客我将烂电脑从Windows 7系统转为了Ubuntu 16.04,这篇博客主要展示在该系统上启动SSH服务。Ubuntu16.04 桌面版默认只会安装ssh客户端,不会安装ssh服务器。也就是你可以使用ssh命令连接远程主机,但是你不能够连接本机。<------------------------------------------------------------------...
2020-04-21 17:00:05 11005
原创 Python使用MongoDB一
在PyCharm中安装Mongo Plugin在PyCharm中的菜单,依次选择File命令->选择settings命令->选择plugins命令->选择browse repositories命令->输入mongo,然后选择Mongo Plugin。重启PyCharm,可以在右侧看到Mongo Explorer。如果没有这个窗口,可以将鼠标光标停留在左下角的图标上,然后在...
2020-04-20 11:34:14 8903
原创 Scrapy学习笔记-Scrapy入门Following links
<ul class="pager"> <li class="next"> <a href="/page/2/">Next <span aria-hidden="true">→</span></a> </li></ul>Scrapy支持CSS扩展,可...
2020-04-19 21:30:38 8906
原创 Scrapy学习笔记-Scrapy入门之创建爬虫
Creating a project在开始抓取之前,您将必须设置一个新的Scrapy项目。 输入您要存储代码并运行的目录:scrapy startproject tutorialAnacoda下使用这将创建一个包含以下内容的教程目录:Spiders是您定义的类,Scrapy用于从网站(或一组网站)中获取信息。 他们必须继承Spider的子类,并定义要发出的初始请求,可以选择如何跟随页面...
2020-04-17 21:00:49 8881
原创 u-boot-1.1.6源码分析
u-boot-1.1.6编译及打补丁过称详见嵌入式学习分析配置过程: make 100ask24x0_config在Makefile文件中查找到100ask24x0_config条目,如下图:执行100ask24x0_config就相当于执行 @$(MKCONFIG) $(@:_config=) arm arm920t 100ask24x0 NULL s3c24x0MKCONF...
2020-04-16 17:20:17 8909
原创 读书笔记:windows程序设计
windows.h是一个最重要的包含文件,囊括若干其他头文件。下面是一些最基本的头文件:WINDEF.H(基本数据类型定义),WINNT.H(支持Unicode的类型定义),WINBASE.H(内核函数),WINUSER.H(用户界面函数),WINGDI.H(图形设备接口函数)每个Windows程序包含入口点函数(WinMain或wWinMain):int WINAPI wWinMain(HINS...
2020-04-16 17:18:28 8873
原创 Java学习笔记一Tomcat 8.5 的WebSocket 支持
只要服务器端有了新数据,服务端就可以直接将数据推送给浏览器,让浏览器显示最新的状态。WebSocket 规范己经相当成熟,而且各种主流浏览器(如Firefox 、Chrome 、Safari 、Opera 等)都己经支持Web Socket 技术, Java EE 规范则提供了Web Socket 服务端规范,而Tomcat 8.5 则对该规范提供了优秀的实现。使用Tomca t 8.5 开发We...
2020-04-16 15:47:36 9637
原创 Java学习笔记一自定义标签、JSTL、EL表达式
在JSP规范的1.1版中增加了自定义标签库规范,自定义标签库是一种非常优秀的表现层组件技术。通过使用自定义标签库,可以在简单的标签中封装复杂的功能。Web 开发需要一种可在页面中使用的标签,这种标签具有和HTML 标签类似的语法,但又可以完成JSP 脚本的功能这种标签就是JSP 自定义标签。在JSP 1.1 规范中开发自定义标签库比较复杂, JSP 2 规范简化了标签库的开发。在JSP 2 中开...
2020-04-16 14:15:16 8897
原创 Scrapy学习笔记-Scrapy例子和quotes网页分析
为了向您展示Scrapy带来了什么,我们将使用最简单的运行爬虫的方法向您介绍Scrapy Spider的示例。将下面代码放在文本文件中,将其命名为quotes_spider.py之类的名称,然后使用runspider命令运行程序:scrapy runspider quotes_spider.py -o quotes.jsonimport scrapyclass QuotesSpider(s...
2020-04-16 11:49:06 10978
原创 嵌入式学习-mini2440启动相关
mini2440启动模式:Nor Flash启动:Supervivi (类似于BIOS程序)Nand Flash启动:Supervivi + Kernel + RootFSJLink烧写文件到开发板:1.JLink烧写Nor Flash 2.JLink烧写Nand FlashJLink烧写Nor Flash1.开发板跳线打到Nor,接上JLINK,插在底板的JT...
2020-04-16 10:21:51 9220
原创 Scrapy学习笔记-体系结构
下图概述了Scrapy体系结构及其组件,并概述了系统内部发生的数据流(由红色箭头显示)。 下面包括对这些组件的简要说明,以及有关它们的更多详细信息的链接。Scrapy中的数据流由执行引擎控制,也就是图中菱形的框,如下所示:引擎会从爬虫组件获取初始请求以进行爬网。引擎在调度程序中调度请求,并请求下一个要爬网的请求。调度程序将下一个请求返回给引擎。引擎通过下载器中间件将请求发送到下载器(...
2020-04-15 21:48:57 8798
原创 WebSocket协议入门:WebSocket API
点击connect按钮,服务器代码显示点击send按钮,浏览器发送数据,服务器回送数据给浏览器。var wsServer = 'ws://192.168.189.155:9096/';ws代表websocket的意思。https://www.cnblogs.com/fuqiang88/p/5956363.html...
2020-04-15 17:24:00 12451
原创 WebSocket协议入门:WebSocket 协议
最早的Web应用程序使用表单和全页刷新。每当用户提交信息,浏览器将提交一个表单并读取新页面。每当有需要显示的更新信息,用户或者浏览器必须刷新整个页面,使用HTTP读取整个资源。利用JavaScript和XMLHttpRequest API,人们开发出了一组称为AJAX的技术,这项技术能够使应用程序在每次交互期间不会有不连贯的过渡。AJAX使应用程序只读取感兴趣的资源数据,并在没有导航得情况下更新页...
2020-04-15 17:23:16 9456
转载 vim如何修改只读文件
当我们使用vim编辑类似于/etc/network/interfaces这样的文件的时候总是会遇到权限问题不能保存,原因是所有的配置文件的权限只属于root。 那么怎样直接以root权限直接vim这些文件?方法是:结合sudo和tee两个命令来实现:w !sudo tee %解释如下::w – Write a file.!sudo – Call shell sudo ...
2020-04-15 14:31:32 10485
原创 密码学C/C++语言实现学习笔记——基本运算函数
密码学C/C++语言实现学习笔记基础数据结构:typedef unsigned short clint;typedef unsigned long clintd;书中所使用环境unsigned short是16位(2个字节)的,unsigned long是32位(4个字节)的。#define CLINTMAXDIGIT 256U CLINTMAXDIGIT指定程序能处理的最大位数(0x...
2020-04-15 14:29:47 8998
原创 学习Python之pandas
学习Python之pandas 通过《利用Python进行数据分析》这本书对pandas库进行入门。pandas是基于NumPy构建的,让以NumPy为中心的应用变得更加简单。书中后续部分使用这样的pandas约定:In [1]: from pandas import Series, DataFrame和In [2]: import pandas as pd。pandas的两个主要数据结构为
2020-04-15 14:26:41 9267
原创 读书笔记:LINUX内核完全剖析:基于0.12内核 之基础
读书笔记:LINUX内核完全剖析 之基础16位微处理器Intel 8086 20条地址线(寻址范围1M)16条数据总线Intel 8088 8086的8位版,8条数据总线 IBM PC和PC/XT及同档次的兼容机都采用8088作为CPUIntel 80186Intel 80286 24条地址线(寻址范围16M)可按实方式和保护方式运行 实方式下只能寻址1M字节空
2020-04-15 14:24:34 8730
原创 Python3入门之一
Python3入门之一Python标识符大小写敏感。基本数据类型:int类型:Python所能表示的整数大小只受限于机器内存,而非固定数量的字节数。str类型字符串可以使用双引号或单引号封装-只要字符串头尾使用的符号是对称的。Python使用方括号[]来存取字符串等序列中的某一项,索引位置是从0开始计数的,例如"giraffe"[0]。字符就是指长度为1的字符串。
2020-04-15 14:20:12 8585
原创 Scrapy学习笔记-Anaconda下安装
安装 Scrapy参考自Scrapy的官方手册:https://docs.scrapy.org/en/latest/intro/install.htmlScrapy在CPython(默认Python实现)和PyPy(从PyPy 5.9开始)下的Python 3.5或更高版本上运行。Anaconda下安装如果您使用的是Anaconda或Miniconda,则可以从conda-forge渠道安...
2020-04-15 12:32:28 8902 1
原创 JavaWeb学习笔记-Spring 简介
Spring 框架由Rod Johnson 开发, 2004年发布了Spring 框架的第一个版本。经过十多年的发展,Spring 己经发展成Java EE 开发中最重要的框架之一。不仅如此,围绕Spring ,以Spring 为核心还衍生出了一系列框架,如Spring Web Flow 、Spring Security、Spring Data 、Spring Boot 、Spring Clou...
2020-04-14 21:05:22 8754
原创 Java学习笔记一Servlet三
Servlet是个特殊的Java类,每个Servlet可以响应客户端的请求。Servlet 提供不同的方法用于响应客户端请求。事实上,客户端的请求通常只有GET 和POST 两种, Serviet 为了响应这两种请求,必须重写doGet和doPost两个方法。如果Servlet为了响应4 种方式的请求,则需要同时重写上面的4 个方法。大部分时候, Servlet 对于所有请求的响应都是完全一样...
2020-04-14 16:30:27 8775
原创 Java学习笔记一JSP二 3个编译指令和7个动作指令以及9个内置对象
JSP 的编译指令是通知JSP引擎的消息,它不直接生成输出。编译指令都有默认值,因此开发人员无须为每个指令设置值。page 指令page 指令通常位于JSP 页面的顶端, 一个JSP 页面可以使用多条page 指令。page 指令的语法格式如下:...
2020-04-14 15:17:11 8826
原创 Java学习笔记一Cookie和Session
Cookie从浏览器中先访问demo1再访问demo2默认情况下,/Day15虚拟目录下的servlet是无法访问/Day16虚拟目录下的servlet设置的Cookie的。通过setPath函数设置为/,表明范围涵盖了Day15和Day16,也就是说Day15和Day16下所有servlet都可以访问到设置的cookie。案例Sessi...
2020-04-13 17:03:57 8584
原创 Java学习笔记一MySQL数据库与JDBC编程
JDBC基础ODBC(Open Database Connectivity)开放数据库连接。ODBC和JDBC(Java Database Connectivity)很像,严格来说,应该是JDBC模仿了ODBC的设计。ODBC也允许应用程序通过一组通用的API访问不同的数据库管理系统,从而使得基于ODBC的应用程序可以在不同的数据库之间切换。同样,ODBC也需要各数据库厂商提供相应的驱动程序,而...
2020-04-13 15:41:24 8996
原创 MySQL学习笔记-初级操作
DDL数据定义语言在建表时同时插入数据,新表的字段列表必须与子查询中的字段列表数量匹配。如果省略字段列表,则新表的列名与选择结果完全相同。create table 表名 [列名[, 列名...]] asslecet * from 其他表5. truncate对于大部分数据库而言,trucate都被当成DDL处理,truncate被称为截断某个表-它的作用是删除该表里的全...
2020-04-13 14:41:09 8811
原创 Java学习笔记一泛型
Java 5改写了集合框架中的全部接口和类,为这些接口、类增加了泛型支持,从而可以在声明集合变量、创建集合对象时传入类型实参。包含泛型声明的类型可以在定义变量、创建对象时传入一个类型实参,从而可以动态地生成无数多个逻辑上的子类,但这种子类在物理上并不存在。当创建带泛型声明的自定义类,为该类定义构造器时,构造器名还是原来的类名,不用增加泛型声明。例如,为Apple<T>类定义构造器,其...
2020-04-13 12:56:52 8631
qttest.rar
2020-02-21
信息可视化 交互设计
2019-01-21
实时碰撞检测算法技术
2019-01-21
嵌入式系统 硬件与软件架构
2019-01-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人