自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

京东放养的爬虫

努力成为一个优秀的人,我在北京要活的精彩。

  • 博客(59)
  • 资源 (2)
  • 问答 (2)
  • 收藏
  • 关注

原创 vim应用解析1

vim 编辑器是一个模式编辑器,这可能是用惯了 windows 下的编辑器的程序员很不习惯的一点。vim有三种模式,这三个模式下的我们的键盘的按键所起到的顺序是不一样的。       (1).Normal 模式是“正常模式”,这时候我们输入的每一个字符会被当做一个命令,我们刚启动 vim 时就工作于 normal 模式。它的主要功能就是控制屏幕光标的移动、进行文本的删除、复制等文字编辑工作,比

2015-05-27 08:59:44 1157

原创 多线程面试秒杀系列4---Interlocked系列函数的简要分析

上一篇中我们出现了脏读的问题,但是却没有给出解决办法这一篇中我们这一篇中主要说明一下interlocked系列函数。       下面列出一些常用的Interlocked系列函数:       1.增减操作       LONG__cdeclInterlockedIncrement(LONG volatile* Addend);       LONG__cdeclInt

2015-05-26 18:41:12 1756

原创 多线程面试秒杀系列3---一个带有全局变量的多线程程序

我们能不能来一个线程报数功能,即第一个子线程输出1,第二个子线程输出2,第三个子线程输出3,……。要实现这个功能似乎非常简单——每个子线程对一个全局变量进行递增并输出就可以了。代码如下: //子线程报数 #include #include #include int g_nCount; //子线程函数 uns

2015-05-26 18:16:14 1599

原创 多线程面试秒杀系列2---CreateThread与_beginthreadex区别

如果在代码中有使用标准C运行库中的函数时,尽量使用_beginthreadex()来代替CreateThread()。        本文会通过源码来说明,这个是为什么?        下面先由一个创建线程的小代码来体验一下线程是什么感觉。代码中的函数在下方会有讲解,代码的大概意思就是先创建一个函数,之后在主函数中创建一个线程,调用这个函数。 //最简单的创建多线程实例

2015-05-26 14:16:22 1495

原创 python多线程有几种实现方法

python多线程有几种实现方法,都是什么?       目前python 提供了几种多线程实现方式 thread,threading,multithreading ,其中thread模块比较底层,而threading模块是对thread做了一些包装,可以更加方便的被使用。2.7版本之前python对线程的支持还不够完善,不能利用多核CPU,但是2.7版本的python中已经考虑改进这

2015-05-26 11:26:19 3215

原创 多线程面试秒杀系列1---面试题目

大体结构来自morewinodws的博客。简答题1.线程的基本概念、线程的基本状态及状态之间的关系?        线程是进程中某个单一顺序的控制流,是程序执行流的最小单位。线程由线程ID、当前指令指针、寄存器集合和堆栈组成。线程是进程的一个实体,是被系统调度和分配的基本单位,线程与同一进程中的其他线程共享进程的全部资源。        一个线程可以创建和撤

2015-05-26 10:36:23 2514

原创 归并排序详细解析

我们先来一个两个有序的数组a和b进行排序的代码,两个有序的数组进行排序只需每次选择两个数组中最小的那个数放进c中就ok了,之后如果那个数组还有剩余就将其直接接在c后面。时间效率还是很快的达到了O(n)。python源码def MemeryArray(a,b,c): i = 0 j = 0 k = 0 n = len(a) m = len(b)

2015-05-25 23:29:22 1188

原创 求取最长回文字符串,o(n)的最优算法manacher

算法的第一步就是在每个字符的左右都加上一个#,这样有什么效果呢。比如aba初始化之后为#a#b#a#,字符串长度为7是奇数。比如1221初始化之后为#1#2#2#1#,字符串长度为9是奇数。为什么我们要将其转换成奇数呢,因为算法求取回文串长度的时候,需要有一个中心节点,之后分别向左右搜索,所以需要将回文串豆转换为奇数长度。之后我们需要将str[0]赋值为一个字符,可以赋值为$,

2015-05-25 12:59:41 1543

原创 python编程入门读书笔记2

数据结构python中两大主力数据结构是列表和字典。列表按顺序存储数据,而字典像小型数据库,使用键高效的存储和检索数据。type函数可以检查值或变量的数据类型。序列是一组按顺序排列的值,python中有3种内置的序列类型:字符串、元组和列表。第一个正索引为0,指向左端。第一个负索引为-1,指向右端。也可使用切片表示法复制子序列,例如s[begin:end]从索引begi

2015-05-22 16:10:46 1517

原创 scrapy爬虫-------命令解析

scrapy是通过命令行进行控制的,你可以在命令行中输入一个scrapy,会出现一拍命令。你也可以通过tree来查看scrapy的目录结构,scrapy.cfg存放的目录被认为是项目的根目录,该文件中包含python模块名的字段定义了项目的设置。下面的代码是我一个爬取天气的爬虫中的.cfg文件。# Automatically created by: scrapy startproject

2015-05-22 10:23:33 6236

原创 安装Sqlserver2005出现"性能监视器计数器要求"错误解决方法

在 “开始” --> “运行”中输入 regedit,开启注册表编辑器。定位到[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib处,在右边的树形目录下可以看到Perflib目录下有004和009两个子目录。004代表中文版,009代表英文版。在Sql Server 2005 的安装帮助文件

2015-05-15 18:49:50 1761

原创 ORA-12541: TNS: 无监听程序

解决方案:一、连接主机字符串,报告没有监听器C:\Documents and Settings\u120594> connect username/password@orcl;ORA-12541: TNS:no listenerC:\Documents and Settings\u120594>二、运行监听器C:\Documents and Settin

2015-05-15 16:41:44 1846

原创 ORA-12560: TNS: 协议适配器错误的解决方法

造成ORA-12560: TNS: 协议适配器错误的问题的原因有三个:1.监听服务没有起起来。windows平台个一如下操作:开始---程序---管理工具---服务,打开服务面板,启动oraclehome92TNSlistener服务。2.database instance没有起起来。windows平台如下操作:开始---程序---管理工具---服务,打开服务面板,启动orac

2015-05-15 16:38:18 1558

原创 错误 0xc0202009: 数据流任务 1: SSIS 错误代码 DTS_E_OLEDBERROR。出现 OLE DB 错误。

原来是一个varchar字段出出现了“和‘等特殊字符。这个在insert语句中没有问题,但是使用导入导出会报错。最后要注意的是,导入导出使用的是BulkInsert 方式,每次可能读取一大段(多行记录一起处理),如果这批数据中有错,那么程序就会报异常了,儿出错的记录往往不是最后一条记录的下一条记录。所以如果为856123这一行出错,你可以在其上方两千条范围内寻找。

2015-05-15 11:17:17 48317 2

原创 oracle中的替换函数简要分析

replace就是一般意义上的字符串替换replace(c1,c2[,c3])在字符串c1中找到字符串c2,替换成c3。若c3为空,则在c1中删除所有c2。update jd set id = replace(id,'1','2');含义就是将jd表中id列中的所有1换为2.translate只是一个字符替换对应的一个字符TRANSLATE ( expr , fro

2015-05-14 18:54:43 2582

原创 二叉树查找之python实现--(插入)

借维基百科的话来说就是二叉树就是一种每个节点最多有两个子树的树结构。但是今天讨论的是二叉查找树,这个查找树就是二叉树的一种延伸吧,加了几条限制就变成了二叉查找树。下面我们来看看二叉查找树有什么性质呢,如果左子树不为空,那么一定全部小于等于根节点,同样右子树也是一样的,而且左右子树都是二叉查找树。最后树中没有键值相同的节点。如果满足上述四条性质的二叉树就是二叉查找树。下面我们来一张二叉查找树的图

2015-05-13 23:35:32 4990 1

原创 修改ORACLE的字段顺序

首先你要有一个pl/sql,其实没有也行,但是这数据库还是有一个可视化界面为好啊。1.首先,以sys用户的身份登录PL/SQL2.查询出你要更改的表的ID,以我本地的数据为例,我要改'FINACE'用户下'INCOME'这张表。注:ORACLE中的表要用大写。  select object_id  from all_objects  where owner =

2015-05-13 18:35:44 2916

原创 密码忘记,修改oracle数据库密码

1、打开cmd窗口,输入 sqlplus / as sysdba  2、运行cmd ,输入  alter user 用户名 account unlock;  3、alter user 用户名(system) identified by  新密码(m1234) ; 修改密码 (注意:一定要在英文输入状态下输入字母,否则不识别 )4、修改成功啦 ,现在可以用新密码 m1234

2015-05-13 16:29:18 1437

原创 oracle 基本查询语句及实例

1、查询所有列select * from 表名;2、查询表结构     desc 表名;3、查询指定列select ename,sal,job from 表名;4、oracle中查看所有表和字段获取表:select table_name from user_tables; //当前用户的表       select table

2015-05-13 16:18:55 1591

原创 python实现ZOJ1745(简单模拟)

我就直接贴代码了,代码上有具体的思路。# -*- coding:utf-8 -*-'''每一行输入最少两个数最多21个数,且最后一步一定要到达饼干。每一行输入的第一个数是饼干所在的位置,且饼干的位置不能为0.输出有三种状态,输出什么状态,取决于这一次和上一次距离饼干的距离是否近了还是远了还是相同近了返回warmer远了返回colder如果相同则返回same如果输入的数字与饼干所在位

2015-05-13 00:14:05 1346

原创 python实现二分查找及bisect模块的简介

在查找方面,python中有list.index()的方法。>>> a=[2,4,1,9,3] #list可以是无序,也可以是有序>>> a.index(4) #找到后返回该值在list中的位置1这是python中基本的查找方法,虽然简单,但是,如果由于其时间复杂度为O(n),对于大规模的查询恐怕是不足以胜任的。二分查找就是一种替代方法。

2015-05-12 22:57:58 5962

原创 python对json的相关操作以及json模块的简要分析

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。JSON有两种结构:第一种就是“名称/值”对的集合。在python中相当于字典类型,在其他语言中,它被理解为对象(object),纪录(record),结构(struct),字典(dictionary),哈希表(hash table),有键列表(keye

2015-05-12 20:13:35 1810

原创 爬虫scrapy抓取w3school课程列表

首先还是先创建scrapy项目,当然这都是在你安装scrapy之后啊,这个scrapy还是在linux系统下最省事,一行指令瞬间安装,这酸爽。。。。。言归正传啊,创建scrapy文件。scrapy startproject w3school之后可以查看一下,这个文件的结构,上一次抓取天气的时候还记得吗,我们采用的是tree命令。tree w3school你就能看见一个树形的

2015-05-12 19:14:18 2920

原创 Python一行读入多个整数+map()函数解析

python中的输入raw_input只能读入一个数,但是有时候需要读入多个数,我们该怎么办呢,读两个数可以使用两个raw_input,但是我们如果需要读取十个数怎么办,不能使用十个raw_nput 吧。import sys num1,num2 = map(int,sys.stdin.readline().split()) print num1,num2 如果需要理解上面的代

2015-05-11 22:19:03 6671

原创 python实现大整数相乘---格子乘法

以前做ACM的时候,许多人都通过 BigInteger 来实现大数乘法,让我记忆犹新的事2012年的辽宁省赛在大连大学,第一道水题就是大整数乘法,那时还不会java。 大数乘法的实现是基于印度的格子乘法,使用这种方法,计算 m 位数乘以 n 位数只需要创建一个 m+n 位的数组保存结果即可。今天我们来用python来模拟一下格子算法的运算过程,python来写算法还是很简单的。下面是从维基

2015-05-11 21:35:42 7156

原创 ubuntu修改本机的hostname

在 Ubuntu 系统中,主机名的设置涉及到两个文件:/etc/hostname: hostname 设置/etc/hosts: hostname IP 地址对应 1、查看主机名可以通过hostname查看,也可以通过uname -n查看。2、临时修改主机名命令行下运行命令:“hostname 新主机名”例子:hostname email.jd

2015-05-11 14:59:19 1877

原创 ubuntu查看自己电脑配置参数

1.查看电脑配置sudo apt-get install hwinfo装好后运行hwinfo默认输出的信息比较长,可以用使用--short选项:hwinfo –short就可以告诉你电脑的硬件配置。2.ubuntu 查看内存和cpu使用情况 free -m查看内存使用情况top 查看cpu 和 内存 使用情况gnome-system-monitor

2015-05-11 13:58:04 5009

原创 爬虫Scrapy学习指南之抓取新浪天气

scrapy有一个简单的入门文档,大家可以参考一下,我感觉官方文档是最靠谱的,也是最真实的。首先我们先创建一个scrapy的项目scrapy startproject weather我采用的是ubuntu12.04的系统,建立项目之后主文件夹就会出现一个weather的文件夹。我们可以通过tree来查看文件夹的结构。可以使用sudoapt-get insta

2015-05-11 11:47:55 3445 2

原创 oracle利用imp和exp导入导出数据

利用cmd的操作命令导出,详情如下:1:G:\Oracle\product\10.1.0\Client_1\NETWORK\ADMIN目录下有个tnsname.ora文件,内容如下:CMSTAR =  (DESCRIPTION =    (ADDRESS_LIST =      (ADDRESS = (PROTOCOL = TCP)(HOST = 172.18.13.200

2015-05-10 19:01:14 1299

原创 oracle修改列的类型

1、假设字段数据为空,则不管改为什么字段类型,可以直接执行:alter table tb modify (name nvarchar2(20));2、假设字段有数据,则改为nvarchar2(20)可以直接执行:alter table tb modify (name nvarchar2(20));3、假设字段有数据,则改为varchar2(40)执行时会弹出:“ORA-01

2015-05-10 18:30:56 1555

原创 oracle合并两张结构相同的表

insert into cselect * from aunion select * from b;使用insert into 就可以了,注意union (all) 前后的select 列表中的字段数量与类型须保持一致。

2015-05-10 16:58:12 5685

原创 oracle修改表、增加列、删除列、修改列

1.增加列ALTER TABLE table_name ADD( column datatype [DEFAULT EXPR][,column datatype...]);例如:SQL>ALTER TABLE emp01 ADD eno NUMBER(4); 2.修改列定义例如:SQL>ALTER TABLE emp01 MODIFY job VARCHAR2(15)

2015-05-10 16:53:19 2045

原创 SP2-0678: Column or attribute type can not be displayed by SQL*Plus

在Oracle10g及以前版本的sqlplus中,不能直接显示blob或者bfile类型的数据:SQL> create table t(b blob);Table created.SQL> insert into t values('1');1 row created.SQL> select * from t;SP2-0678: Column or attribute ty

2015-05-10 16:12:22 3294

原创 python简洁之道-----Requests库

requests是python的一个HTTP客户端库,和urllib、urllib2类似,但是urllib2的api比较复杂,比如像实现一个post或是get功能都得需要一大堆代码。今天先简单介绍一下这个库,等我看过官方文档之后,在写一个全面一点的。# -*- coding:utf8 -*-import requestr = requests.get('http://www.zh

2015-05-09 15:33:03 1585

原创 python爬虫抓取全国pm2.5的空气质量(2015.12.21版)

这个编码格式真的是很闹心啊,看来真的得深入学习一下编码格式,要不这各种格式错误。这个编码还和编辑器有关系,最开始的时候实在sublime Text里编辑的代码,运行起来卡卡的,特别顺畅,但突然发现它不支持raw_input和input,所以令临时换到了python官方提供的idle中。之后就出现了各种奇葩编码错误。。。。。。程序大概意思就是,你输入一个城市的拼音,它就会返回这个城市的空气污

2015-05-09 14:41:46 9026 1

原创 python编程入门读书笔记1

python适合用来做什么呢?脚本,这些简短的程序自动执行常见的管理任务,如在系统中新增用户、上传文件到网站、不使用浏览器浏览网页等。网站开发,作为快速创建动态网站的工具,Django、bottle、Zope等python项目深受开发人员欢迎。文本处理,python在字符串和文本文件处理方面提供了强大的支持,包括正则表达式和unicode。科学计算,网上有很多卓

2015-05-08 19:03:11 1467

原创 BeautifulSoup模块的简单使用

可以通过dir(BeautifulSoup.BeautifulSoup)查看其有什么函数,如果想知道某个函数的含义可以使用help(BeautifulSoup.BeautifulSoup.find)来查看其官方文档。可以使用pprint来整输出,使用dir和help之前一定要import BeautifulSoup。# -*- coding:utf8 -*-import urll

2015-05-07 20:06:22 2056

原创 多线程抓取豆瓣编程书籍(linux\windows都可运行)

首先创建两个队列,queue队列存储要爬的网址,out_queue存储的是要取内容的网页源代码。创建线程类,ThreadUrl的作用是从给定的网址上抓取网页内容,并将内容存储在out_queue队列上,而DatamineThread的作用是从网页源代码中通过正则来取想要的内容。这个代码在window下运行的话就需要将.decode('utf8')那句话前面的#删除就ok了,编码方式需要改一

2015-05-07 08:52:12 1742

原创 暂存 postgreSQL\MongoDB博客

唐福林 Lucene:  http://blog.fulin.org/category/lucene阿里数据团队:      http://www.alidata.org觉先Lucene:        http://www.cnblogs.com/forfuture1978/代震军MongoDB:  http://www.cnblogs.com/daizhj王晓华

2015-05-06 22:01:07 1461

原创 ubuntu下su与su -命令简要分析

Linux中切换用户的命令是su或su -。su命令和su -命令最大的本质区别就是:前者只是切换了root身份,但Shell环境仍然是普通用户的Shell;而后者连用户和Shell环境一起切换成root身份了。切换之后可以使用pwd查看一下当前的工作目录,也可以使用echo $PATH查看一下环境变量,观察su和su -的区别。我们切换用户的时候应该使用的就是su-,切换

2015-05-06 15:41:46 2630 2

数电报告莫版

数电报告莫版

2012-07-12

数电课件科技

数电课件

2012-07-12

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除