- 博客(43)
- 收藏
- 关注
原创 CentOS安装InfluxDB
# 安装 http://repos.influxdata.comwget https://repos.influxdata.com/centos/7/x86_64/stable/influxdb-1.5.2.x86_64.rpmrpm -ivh influxdb-1.5.2.x86_64.rpm# 配置vi /etc/influxdb/influxdb.conf[http]enabl...
2018-07-05 10:14:06 1214
原创 CentOS安装版本管理器pyenv
cat /etc/redhat-release# CentOS Linux release 7.1.1503 (Core) # 安装依赖yum install readline readline-devel readline-static -yyum install openssl openssl-devel openssl-static wget curl llvm make buil...
2018-05-29 14:29:26 606
原创 Linux编译安装ffmpeg
# 0、汇编依赖,可选,可以使用--disable-yasm禁用这个选项编译wget http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gztar -xvzf yasm-1.3.0.tar.gzcd yasm-1.3.0/./configuremakemake install# 1、编译安装wget http...
2018-05-29 14:20:06 541
原创 执行gem install redis时异常:redis requires Ruby version >= 2.2.2
在执行gem install redis时,提示:redis requires Ruby version >= 2.2.2.CentOS7 yum库中ruby的版本支持到 2.0.0,可gem 安装redis需要最低是2.2.2,故采用rvm来更新ruby。# 1、安装RVMgpg2 --keyserver hkp://keys.gnupg.net --recv-keys D39DC0E3...
2018-04-03 16:16:54 869
转载 浅谈sql中的in与not in,exists与not exists的区别
1、in和existsin是把外表和内表作hash连接,而exists是对外表作loop循环,每次loop循环再对内表进行查询,一直以来认为exists比in效率高的说法是不准确的。如果查询的两个表大小相当,那么用in和exists差别不大;如果两个表中一个较小一个较大,则子查询表大的用exists,子查询表小的用in。例如:表A(小表),表B(大表)select * from
2018-03-28 16:03:46 228
转载 Python获取当前环境下默认编码
# coding:gbkimport sysimport localedef p(f): print '%s.%s(): %s' % (f.__module__, f.__name__, f())# 返回当前系统所使用的默认字符编码p(sys.getdefaultencoding)# 返回用于转换Unicode文件名至系统文件名所使用的编码p(sys.getfiles
2017-12-29 14:41:04 10733 2
原创 CentOS系统redis主从模式实现
安装配置# 安装yum install epel-release (centos 7可以直接安装epel源)yum install redis# 配置vi /etc/redis.confvi /etc/redis-sentinel.conf# 启动redis-server /etc/redis.confredis-sentinel /etc/redis-sentinel.c
2017-12-15 15:34:31 352
转载 python编程思维导图
总览第一张图基础知识图一包括了基本规则、Python语言特点、计算机语言、如何运行Python、变量赋值五个方面,辅助你快速掌握Python编程的基底知识。第二张图基础知识图二包含了模块结构、布局、IO编程流程、标识符、Python对象、内存管理、动态类型六大模块,两张基础知识导图可以帮助你区域化了解Python的组成部分及基本操作。第三张图学习Py
2017-12-08 18:23:05 10596
原创 CentOS搭建Socks5 Proxy代理服务器
关于SOCKS5 SOCKS5 是一个代理协议,它在使用TCP/IP协议通讯的前端机器和服务器机器之间扮演一个中介角色,使得内部网中的前端机器变得能够访问Internet网中的服务器,或者使通讯更加安全。 正常情况下客户端和服务端的通信:客户端服务端 使用了SOCKS5代理后的通讯:客户端代理服务器服务端# 安装ss5依赖yum install gcc
2017-12-08 17:09:03 14219 2
转载 设置scrapyd为系统后台服务及系统启动项
whereis scrapyd一、设置为系统后台服务1、新建文件/etc/init.d/scrapydvi /etc/init.d/scrapydsudo chmod 755 /etc/init.d/scrapyd#!/bin/bash# chkconfig: 2345 20 80# description: SrapydPORT=6800HOME="/var/scrapyd"BIN...
2017-12-08 10:19:21 4943
原创 SQLAlchemy类的映射
from sqlalchemy import create_enginefrom sqlalchemy.orm import Sessionfrom sqlalchemy.ext.automap import automap_baseif __name__ == "__main__": engine_str = 'sqlite:///:test.db' engine = cr
2017-11-08 20:06:29 1600
转载 Python requests 技巧总结
# 1:保持请求之间的Cookiesimport requestsself.session = requests.Session()self.session.get(login_url) # 可以保持登录态# 2:请求时,会加上headersself.session.get(url, params, headers=headers)#在构造函数中,这样设置是全局的。# 设置请求头
2017-11-08 19:38:54 1799
转载 SQLAlchemy批量插入性能比较
import timeimport sqlite3from sqlalchemy.ext.declarative import declarative_basefrom sqlalchemy import Column, Integer, String, create_enginefrom sqlalchemy.orm import scoped_session, sessionmak
2017-11-08 19:18:15 1544
原创 SQLAlchemy使用笔记一
安装pip install sqlalchemy引用import sqlalchemyprint sqlalchemy.__version__连接from sqlclachemy import create_engine# PostgreSQL 默认使用psycopg2# 默认情况(即使用psycopg2)engine = create_engine('
2017-11-08 18:14:05 508
转载 Postgresql死锁的处理
背景:select和delete表时正常执行,但truncate和drop表时会一直运行,也不报错。原因:"drop table" 和 "truncate table" 需要申请排它锁"ACCESS EXCLUSIVE", 执行这个命令卡住时,说明此时这张表上还有操作正在进行,比如查询等,那么只有等待这个查询操作完成,"drop table" 或"truncate table"
2017-07-13 15:06:53 2825
原创 CentOS 6.5安装Erlang及RabbitMQ
环境CentOS 6.5 x64安装Erlang1、首先要先安装GCC GCC-C++ Openssl等依赖模块yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel2、再安装ncurses等其他依赖模块yum -y install ncurses-devel unixODBC-de
2017-07-07 16:26:45 1674
原创 CentOS 6.5 安装 Redis
环境:CentOS 6.5 x641、安装依赖yum -y install gcc gcc-c++ tcl2、下载解压wget http://download.redis.io/redis-stable.tar.gztar -xvzf redis-stable.tar.gz3、编译安装cd redis-stable# make distclean # 解决一些编译依赖或
2017-07-07 11:16:08 349
转载 Oracle创建表空间及用户
/*第1步:创建临时表空间 */create temporary tablespace TS_CS_TEMPtempfile 'E:\app\Administrator\oradata\orcl\TS_CS_TEMP.dbf'size 64m autoextend on next 32m maxsize 20480m extent management local; /*第2步:创
2017-07-04 10:47:52 345
转载 用pycharm远程单步调试
配置远程(就在本地调试的同学可以跳过这步)1.菜单->Tools->Deployment->Configuration我这个pycharm是已经配置完的,有些菜单是亮的,所以请不要纠结为啥有点不一样,点那个Configuration就可以了2.打开之后,填写配置SFTP host 就是远程主机的IP地址,为了安全,我把我的ip改了下。配置的英文意思差不多都明白,说明下Root pa
2017-06-27 17:13:26 2798
转载 Celery学习笔记(一)
Tips:在学习Celery过程中,使用的系统为Windows 10、Celery版本为3.1.18①、中间人使用RabbitMQ。C:\Users\foolf>celery --version3.1.18 (Cipater)什么是任务队列任务队列是一种在线程或者机器之间分发任务的机制。消息队列的输入是工作的一个单元,称为任务,独立的职程(Worker)进程持续监视队列中是否有需
2017-06-26 16:34:32 6784 1
转载 各种 Python 库/模块/工具
1 算法1.1 字符串处理re正则表达式的标准库。StringIO / cStringIO以读写文件的方式来操作字符串(有点类似于内存文件)。cStringIO 是 C 语言实现的,提供高性能;而 StringIO 是 Python 实现的,提供 Unicode 兼容性。chardetchardet 可以猜测任意一段文本的字符集编码。对于编码类型未知的文本,它会很有
2017-04-20 16:18:10 1593
转载 Mining Twitter Data with Python Part 7: Geolocation and Interactive Maps
http://www.kdnuggets.com/2016/07/mining-twitter-data-python-part-7.htmlThe final part of this 7 part series explores using geolocation and interactive maps with Twitter data.By Marco Bonzanini
2016-12-05 14:43:32 593
转载 Mining Twitter Data with Python Part 6: Sentiment Analysis Basics
http://www.kdnuggets.com/2016/07/mining-twitter-data-python-part-6.htmlPart 6 of this series builds on the previous installments by exploring the basics of sentiment analysis on Twitter data.B
2016-12-05 14:40:46 498
转载 Mining Twitter Data with Python Part 5: Data Visualisation Basics
http://www.kdnuggets.com/2016/06/mining-twitter-data-python-part-5.htmlPart 5 of this series takes on data visualization, as we look to make sense of our data and highlight interesting insights.
2016-12-05 14:36:04 534
转载 Mining Twitter Data with Python Part 4: Rugby and Term Co-occurrences
http://www.kdnuggets.com/2016/06/mining-twitter-data-python-part-4.htmlPart 4 of this series employs some of the lessons learned thus far to analyze tweets related to rugby matches and term co-o
2016-12-05 14:34:42 699
转载 Mining Twitter Data with Python Part 3: Term Frequencies
http://www.kdnuggets.com/2016/06/mining-twitter-data-python-part-3.htmlPart 3 of this 7 part series focusing on mining Twitter data discusses the analysis of term frequencies for meaningful term e
2016-12-05 14:33:09 499
转载 Mining Twitter Data with Python Part 2: Text Pre-processing
http://www.kdnuggets.com/2016/06/mining-twitter-data-python-part-2.htmlPart 2 of this 7 part series on mining Twitter data for a variety of use cases focuses on the pre-processing of tweet text.
2016-12-05 14:30:05 667
转载 Mining Twitter Data with Python Part 1: Collecting Data
http://www.kdnuggets.com/2016/06/mining-twitter-data-python-part-1.htmlPart 1 of a 7 part series focusing on mining Twitter data for a variety of use cases. This first post lays the groundwork, an
2016-12-05 14:28:04 621
转载 常用特殊符号的HTML代码(HTML字符实体)
适当使用实体,对页面开发有相当大的帮助。自己收集的一些常用的以实体代替与HTML语法相同的字符,避免浏览解析错误。常用HTML字符实体(建议使用实体):字符名称实体名实体数•圆点 %u25CF;*星号 ❄“双引号""&&符&
2016-11-01 10:22:17 27125
转载 ORA-01578 ORA-01110 坏块解决方法
一个案例,查看跟踪文件发现如下错误信息 d:\Oracle\product\10.2.0\admin\dbserver\udump\orcl_ora_5888.trcCorrupt block relative dba: 0x09848269 (file 38, block 295529)Bad header found during buffer readData in ba
2016-11-01 09:47:42 23505 1
转载 Scrapy抓取在不同级别Request之间传递参数
先来看一下需求,以抓取简书用户信息为例:用户主页左侧显示的信息:(用户主要信息)用户昵称(nickname)关注数(subs)粉丝(fans)文章(articles)字数(words)以上数据从用户首页可以获取(/latest_articles),其他页面(/timeline, /followers...)都有这些数据。用户主页可以得到的数据我们
2016-10-31 18:51:20 2009
转载 Scrapy笔记(12)- 抓取动态网站
前面我们介绍的都是去抓取静态的网站页面,也就是说我们打开某个链接,它的内容全部呈现出来。但是如今的互联网大部分的web页面都是动态的,经常逛的网站例如京东、淘宝等,商品列表都是js,并有Ajax渲染,下载某个链接得到的页面里面含有异步加载的内容,这样再使用之前的方式我们根本获取不到异步加载的这些网页内容。使用Javascript渲染和处理网页是种非常常见的做法,如何处理一个大量使用Javasc
2016-10-31 18:43:21 5754 2
转载 Scrapy笔记(11)- 模拟登录
有时候爬取网站的时候需要登录,在Scrapy中可以通过模拟登录保存cookie后再去爬取相应的页面。这里我通过登录github然后爬取自己的issue列表来演示下整个原理。要想实现登录就需要表单提交,先通过浏览器访问github的登录页面https://github.com/login,然后使用浏览器调试工具来得到登录时需要提交什么东西。我这里使用chrome浏览器的调试工具,F12打
2016-10-31 18:38:01 12008 2
转载 Scrapy笔记(10)- 动态配置爬虫
有很多时候我们需要从多个网站爬取所需要的数据,比如我们想爬取多个网站的新闻,将其存储到数据库同一个表中。我们是不是要对每个网站都得去定义一个Spider类呢?其实不需要,我们可以通过维护一个规则配置表或者一个规则配置文件来动态增加或修改爬取规则,然后程序代码不需要更改就能实现多个网站爬取。要这样做,我们就不能再使用前面的scrapy crawl test这种命令了,我们需要使用编程的方式运行S
2016-10-31 18:31:23 8423
转载 Scrapy笔记(9)- 部署
本篇主要介绍两种部署爬虫的方案。如果仅仅在开发调试的时候在本地部署跑起来是很容易的,不过要是生产环境,爬虫任务量大,并且持续时间长,那么还是建议使用专业的部署方法。主要是两种方案:Scrapyd 开源方案Scrapy Cloud 云方案部署到ScrapydScrapyd是一个开源软件,用来运行蜘蛛爬虫。它提供了HTTP API的服务器,还能运行和监控Scrapy的蜘蛛要部署爬虫
2016-10-31 18:26:38 3655
转载 Scrapy笔记(8)- 文件与图片
Scrapy为我们提供了可重用的item pipelines为某个特定的Item去下载文件。通常来说你会选择使用Files Pipeline或Images Pipeline。这两个管道都实现了:避免重复下载可以指定下载后保存的地方(文件系统目录中,Amazon S3中)Images Pipeline为处理图片提供了额外的功能:将所有下载的图片格式转换成普通的JPG并使用RG
2016-10-31 18:23:55 4075
转载 Scrapy笔记(7)- 内置服务
Scrapy使用Python内置的的日志系统来记录事件日志。日志配置LOG_ENABLED = trueLOG_ENCODING = "utf-8"LOG_LEVEL = logging.INFOLOG_FILE = "log/spider.log"LOG_STDOUT = TrueLOG_FORMAT = "%(asctime)s [%(name)s] %(levelname)s:
2016-10-31 18:16:44 1406
转载 Scrapy笔记(6)- Item Pipeline
当一个item被蜘蛛爬取到之后会被发送给Item Pipeline,然后多个组件按照顺序处理这个item。每个Item Pipeline组件其实就是一个实现了一个简单方法的Python类。他们接受一个item并在上面执行逻辑,还能决定这个item到底是否还要继续往下传输,如果不要了就直接丢弃。使用Item Pipeline的常用场景:清理HTML数据验证被抓取的数据(检查item是否包
2016-10-31 18:12:38 9169
转载 Scrapy笔记(5)- Item详解
Item是保存结构数据的地方,Scrapy可以将解析结果以字典形式返回,但是Python中字典缺少结构,在大型爬虫系统中很不方便。Item提供了类字典的API,并且可以很方便的声明字段,很多Scrapy组件可以利用Item的其他信息。定义Item定义Item非常简单,只需要继承scrapy.Item类,并将所有字段都定义为scrapy.Field类型即可import scrapy
2016-10-31 18:07:15 30119 1
转载 Scrapy笔记(4)- Selector详解
在你爬取网页的时候,最普遍的事情就是在页面源码中提取需要的数据,我们有几个库可以帮你完成这个任务:BeautifulSoup是python中一个非常流行的抓取库,它还能合理的处理错误格式的标签,但是有一个唯一缺点就是:它运行很慢。lxml是一个基于ElementTree的XML解析库(同时还能解析HTML),不过lxml并不是Python标准库而Scrapy实现了自己的数据提取机制,它
2016-10-31 17:58:52 17532
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人