自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 收藏
  • 关注

原创 windows下MongoDB的安装与基本操作

爬虫需要存储大量的数据,有时返回的数据都是json格式,这时选用NoSQL数据库存储就方便很多了。MongoDB是一个基于分布式文件存储的数据库,本身就为web应用提供了可扩展的高性能数据存储,在爬虫中使用MongoDB可以提供不少便利。一、安装下载地址:https://www.mongodb.com/download-center/community,下载完成后按步骤安装即可。安...

2019-04-11 20:52:54 231

原创 python爬虫之selenium识别滑动验证码

最早在爬虫中遇到滑动验证码是在国家企业信用信息公示系统中,当时也是运用selenium来完成。现在该网站已经改为点触验证码了,故现在用bilibili登录页面作为一个示例。一、识别思路识别滑动验证码需要完成如下几步:1)模拟点击验证按钮2)得到完整的验证码图片3)得到带缺口的验证码图片4)比较图片的像素差异,识别缺口5)模拟滑动动作二、初始化b站的登录地址为ht...

2019-04-11 13:32:36 5759 3

原创 python爬虫之selenium

当网页由javascript生成且不包含ajax接口请求的时候,需要使用模拟浏览器运行的方式来爬取需要的数据。一、安装与准备selenium本身使用pip安装即可,除此之外还需要安装浏览器及驱动。我自己安装了chrome和firefox。chrome对应的驱动为ChromeDriver,firefox对应的驱动为GeckoDriver。分别百度下载即可。(我下的都是最新的,历史版本需要...

2019-04-09 20:38:10 287

原创 python获取本机ip

最近在爬虫中尝试了拨号的服务器,每次拨号可以更换公网ip,于是想记录一下ip地址。一、在linux终端在linux下直接使用ifconfig命令就能看到网卡信息。二、使用pythonimport socketimport fcntlimport structdef get_ip_address(ifname): s = socket.socket(socke...

2018-09-26 17:56:55 716 1

原创 ubuntu16.04安装MySQL

一、安装执行以下命令apt install mysql-server apt install mysql-clientapt install libmysqlclient-dev安装成功后可以通过下面的命令测试是否安装成功:netstat -tap | grep mysql出现如下信息证明安装成功: 二、设置远程访问现在设置mysql允许远程访问,首...

2018-08-22 16:56:07 145

原创 postgresql通过dblink操作远程数据库

安装找到postgresql安装目录,在postgresql-10.3/contrib/dblink下,运行make && make install注:可以使用find命令找到dblink文件夹find .* -name dblink安装完毕之后,目录下多了dblink.so和dblink.o在数据库中运行create extension dbli...

2018-07-25 14:43:39 3392 2

原创 从oracle导出成csv文件

从oracle导出csv文件主要有两种方法方法1、使用oracle server developer自带的功能在数据库中找到想要导出的表,右键选择导出。去掉勾选的导出DDL,把格式改成csv,选择相应的编码方式下一步之后,还可以添加where子句。按提示操作即可。方法2、使用oracle的内建包UTL_FILE效率比较此方法导出方便,不用什么操作,但是导出速度上较慢,导出2亿多条的70GB数据大约...

2018-06-25 17:30:19 25934 3

原创 使用copy from导入postgresql时报ERROR: invalid byte sequence for encoding "UTF8": 0x00错误

问题描述使用copy from导入postgresql时,报ERROR:  invalid byte sequence for encoding "UTF8": 0x00错误尝试解决数据文件是我从oracle导入的,文件编码为utf-8。这个报错还会提示行数,由于我的文件特别大,vim打不开文件,于是我用sed命令把报错行数提出来,再用vim打开,发现并没有什么异常。我用split命令按行数切割后...

2018-06-21 16:40:53 10570 5

原创 postgresql导入导出大文件 copy命令

在文件量

2018-06-21 16:18:19 5954

原创 oracle 字符集问题

问题描述:这是在将dmp文件导入oracle的时候,遇到的另一个问题。在导入的时候遇到如下提示:已经完成 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集中的导入报错如下:IMP-00019: 由于 ORACLE 错误 12899 而拒绝行IMP-00003: 遇到 ORACLE 错误 12899ORA-12899: 列 "SYSTEM"."表名"."字段名" 的值太大 (实际值...

2018-06-19 14:14:55 3491

原创 oracle导入与导出 exp/imp,expdp/impdp

IMP-00038: Could not convert to environment character set’s handle IMP-00000: Import terminated unsuccessfully原因:因为文件导出是用的expdp导出,而导入时用imp导入,所以导出和导入格式不一样。...

2018-06-07 18:48:42 1863

原创 提高效率之python的多线程

python本身的设计对多线程的执行有所限制。为了数据安全设计有GIL全局解释器锁。在python中,一个线程的执行包括获取GIL、执行代码直到挂起和释放GIL。每次释放GIL锁,线程之间都会进行竞争,由拿到锁的线程进入cpu执行,所以由于GIL锁的存在,python里的一个进程永远只能同时执行一个线程。python的多线程python的多线程实际上只是在执行的时候看起来像是并发的。· 使用thr...

2018-06-04 17:53:35 5248

原创 postgresql 自建判断是否为数字函数

在清洗数据的过程中需要去掉非数字的数据,故新建了一个判断是否为数字的函数。新建函数判断字符串是否为数字,返回布尔值,True表示数字, False表示非数字。CREATEOR REPLACE FUNCTION isnumeric (txtStr VARCHAR) RETURNS BOOLEAN AS $$BEGIN RETURN txtStr ~ '^([0-9]+[.]?[0-9]*|[....

2018-05-31 14:40:55 6233 1

原创 django 模板自定义过滤器

django自带的模板过滤器有很多,但是基础运算的只有加法,如果需要做减法的话只能用{{value|add:-10}} 我在实际操作中需要对两个变量进行减法,经尝试{{value1|add:-value2}}这样写是无效的。于是我就准备自己定义一个过滤器来完成减法。参考:官方文档结构如下polls/    __init__.py    models.py    templatetags/...

2018-05-11 18:08:59 978

转载 django+nginx+uwsgi 504 Gateway Time-out 解决办法

报错504  Gateway Time-out 分析nginx和uwsgi整合时有三个参数可以用于设置超时时间:1.uwsgi_connect_timeout: 默认60秒,与uwsgi-server连接的超时时间,该值不能超过75秒.若在超时时间内未能成功连接则断开连接尝试2.uwsgi_read_timeout: 默认60秒,nginx等待uwsgi进程发送响应数据的超时时间。若有需要长时...

2018-05-10 16:38:22 6605

原创 ubuntu16.04下安装postgresql 10.3

环境及资源    Linux版本:ubuntu16.04    PostgresSQL版本:postgresql-10.3    PostgreSQL官网下载地址:https://www.postgresql.org/ftp/source/v10.3/ 下载postgresql-10.3.tar.gz正文安装路径为/usr/local/pgsql/ 1、解压gu...

2018-04-28 18:32:36 6819

原创 解决报错RecursionError: maximum recursion depth exceeded in comparison

报错在使用python爬取新浪微博的时候,采取了深度优先来抓取,写了个递归函数。但有个页面的值出现了异常,最后报了RecursionError: maximum recursion depth exceeded in comparison这个错误。 尝试发现python默认的递归深度是很有限的(默认是1000),因此当递归深度超过999的样子,就会引发这样的一个异常。于是我写了下面的代码进行测试...

2018-04-13 15:20:08 82813 5

原创 在linux中使用virtualenv

virtualenv是python开发中一个重要的工具,它可以帮助我们创建一个干净的python解释环境。安装pip install virtualenv创建环境创建虚拟环境时,这个虚拟环境的python版本往往是系统默认的2.x版本。我们可以通过命令来创建一个python3的虚拟环境创建python2虚拟环境(envname为虚拟环境名)virtualenv -p /usr/bin/pytho...

2018-04-10 18:38:36 820

转载 Ubuntu "E: Unable to locate package"错误解决办法

Ubuntu 16.04 64位 安装软件时报错:Unable to locate package:无法找到包。解决办法:执行命令:sudo apt-get update在安装自己的软件就ok了。在Linux下,每个Linux的发行版,比如我的版本是Ubuntu 16.04 64位 ,都会维护一个自己的软件仓库,我们常用的几乎所有软件都在这里面。用apt-get install命令直接安装。相比于...

2018-04-10 17:34:55 9286 1

转载 django 使用https协议运行runserver

环境准备django 默认的runserver使用的是http协议,如果需要https协议,需要以下3个库 django-extensions django-werkzeug-debugger-runserver pyOpenSSL 执行pip install命令安装:pip install django-extensionspip install django-werkzeug-de...

2018-03-21 15:24:45 7181 1

转载 linux 常见操作

移动/重命名文件  mv mv --help    Usage: mv [OPTION]... [-T] SOURCE DEST      or:  mv [OPTION]... SOURCE... DIRECTORY      or:  mv [OPTION]... -t DIRECTORY SOURCE...    Rename SOURCE to DEST, or move SOURCE(s...

2018-03-13 17:18:56 206

空空如也

空空如也

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

TA关注的人

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