<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[devoen的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/devoen</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; devoen]]></copyright><item><title><![CDATA[R语言导入txt文本报错：more columns than column names（列的数目比列的名字要多）问题解决]]></title><link>https://blog.youkuaiyun.com/devoen/article/details/115478422</link><guid>https://blog.youkuaiyun.com/devoen/article/details/115478422</guid><author>devoen</author><pubDate>Wed, 07 Apr 2021 09:54:34 +0800</pubDate><description><![CDATA[R语言导入txt文本报错：more columns than column names（列的数目比列的名字要多）问题解决
mergedata &lt;- do.call("rbind",
                     lapply(dir,
                            function(x){ data = read.table(x,sep = "|",
                                                         ]]></description><category></category></item><item><title><![CDATA[python导入数据库报错：ORA-00054: 资源正忙, 但指定以 NOWAIT 方式获取资源, 或者超时失效---问题解决]]></title><link>https://blog.youkuaiyun.com/devoen/article/details/114984719</link><guid>https://blog.youkuaiyun.com/devoen/article/details/114984719</guid><author>devoen</author><pubDate>Thu, 18 Mar 2021 17:20:30 +0800</pubDate><description><![CDATA[python导入数据库报错：ORA-00054: 资源正忙, 但指定以 NOWAIT 方式获取资源, 或者超时失效—问题解决
今天在对爬虫入库的脚本进行修改时，突然报错:ORA-00054: 资源正忙, 但指定以 NOWAIT 方式获取资源, 或者超时失效，想到之前测试脚本有无问题时在oracle中将数据插入目标表后没有提交，导致该表处于被锁状态，所以报错，点击如图所示的提交按钮后（也可以直接运行commit;命令），重新运行爬虫，数据成功插入！

oracle凡是涉及增删改一定要commit！切记！切记！]]></description><category></category></item><item><title><![CDATA[python tesseract selenium自动识别验证码登陆]]></title><link>https://blog.youkuaiyun.com/devoen/article/details/113352165</link><guid>https://blog.youkuaiyun.com/devoen/article/details/113352165</guid><author>devoen</author><pubDate>Thu, 28 Jan 2021 18:29:35 +0800</pubDate><description><![CDATA[文章目录前言一、下载安装tesserocr二、1.2.总结


前言
前期写得爬虫已经逐渐稳定，但是每次都是手动输入验证码，时间久了觉得麻烦，就想着自动识别验证码登陆，于是就开启了各种百度之路，磕磕碰碰，总算成功实现自动登陆，特次复盘此次验证码识别的全过程，以便大家参考。

一、下载安装tesserocr
tesserocr是Python的一个OCR识别库，但其实是对tesseract做的一层PythonAPI封装，所以它的核心是tesseract。所以需要先安装tesseract。

下载链接：https]]></description><category></category></item><item><title><![CDATA[python selenium 删除chromedriver.exe提示被占用问题解决]]></title><link>https://blog.youkuaiyun.com/devoen/article/details/113309762</link><guid>https://blog.youkuaiyun.com/devoen/article/details/113309762</guid><author>devoen</author><pubDate>Thu, 28 Jan 2021 11:24:57 +0800</pubDate><description><![CDATA[python selenium 替换chromedriver.exe提示被占用问题解决
今天由于谷歌浏览器莫名升级为最新版本，导致使用selenium爬虫时提示驱动chromedriver.exe与浏览器版本不一致，于是从http://npm.taobao.org/mirrors/chromedriver/88.0.4324.96/
上下载了对应最新浏览器版本的驱动，打算替换旧的驱动，却提示被占用

将pycharm关闭后还是不行，百度后:https://blog.youkuaiyun.com/weixin_39339]]></description><category></category></item><item><title><![CDATA[python向oracle插入超过10万数据报错：DPI-1001: out of memory问题解决]]></title><link>https://blog.youkuaiyun.com/devoen/article/details/113307944</link><guid>https://blog.youkuaiyun.com/devoen/article/details/113307944</guid><author>devoen</author><pubDate>Thu, 28 Jan 2021 09:53:10 +0800</pubDate><description><![CDATA[python向oracle插入超过10万数据报错：DPI-1001: out of memory问题解决


过程
昨天在将爬虫数据入库时，突然报错DPI-1001: out of memory，小于10万条数据无问题，但之前并无此问题，仔细回想这中间有何差异，想到有可能是我将cx-Oracle库升级到最新版本8.1.0，于是特地将cx-Oracle删除，重新下载7.3.0版本，重新运行，顺利插入oracle数据库。


感想


本人习惯将库升级到最新版本，以为最新版功能更多更全，现在看来这并不是一个好习]]></description><category></category></item><item><title><![CDATA[python selenium 通过标签文本定位]]></title><link>https://blog.youkuaiyun.com/devoen/article/details/112968211</link><guid>https://blog.youkuaiyun.com/devoen/article/details/112968211</guid><author>devoen</author><pubDate>Thu, 21 Jan 2021 18:06:09 +0800</pubDate><description><![CDATA[python selenium 通过标签文本定位

背景

今天在爬取历史数据时，需要选定特定日期，但是日期在不同行数会导致xpath路径不是递增的，是通过每7天增加1行来实现的，想要通过更改td[7]方括号里的数字来实现对应日期就不可能了，而且对于不同月份，1号所对应的星期也不一样，这就需要想办法构造或寻找其他规律来实现输入特定日期自动点击对应日期。
3号：//*[@id="ui-datepicker-div"]/table/tbody/tr[1]/td[7]/a
10号：//*[@id="ui-date]]></description><category></category></item><item><title><![CDATA[oracle alter为表格增加一列，update不同条件下（case when）更新某列值]]></title><link>https://blog.youkuaiyun.com/devoen/article/details/112326178</link><guid>https://blog.youkuaiyun.com/devoen/article/details/112326178</guid><author>devoen</author><pubDate>Thu, 07 Jan 2021 18:30:51 +0800</pubDate><description><![CDATA[oracle alter为表格增加一列，update不同条件下（case when）更新某列值
今天我的爬虫数据库表有了新的需求，需要在原表的基础上新增1列，只会基础查询的我果断百度起来，查到可以使用
alter table table_name add area_city varchar2(255);
commit;

个人理解这段代码就是为表table_name,增加了列名为area_city的空列，这里的commit是我不知道alter命令会不会自动提交事务，保存更改，为了以防万一还是加上了。
新的一]]></description><category></category></item><item><title><![CDATA[解决python 使用time.loacltime()获取当前时间不准问题]]></title><link>https://blog.youkuaiyun.com/devoen/article/details/111996145</link><guid>https://blog.youkuaiyun.com/devoen/article/details/111996145</guid><author>devoen</author><pubDate>Wed, 30 Dec 2020 19:19:44 +0800</pubDate><description><![CDATA[解决python 使用time.loacltime()获取当前时间不准问题
作为python小白的我，果然容易犯很多低级的错误或者说又不自觉想当然了，导致又花费了好长时间处理BUG。
我在我的爬虫代码开始时记录了程序开始时间,代码如下：
startTime = time.strftime("%Y-%m-%d %H:%m", time.localtime())

相信大佬一眼就能看出我这段代码中存在的问题，但作为小白的我一开始对这个我对照着百度到的时间转化格式类推出来的代码自豪无比：
time.strftim]]></description><category></category></item><item><title><![CDATA[python爬虫页面按钮未加载报错selenium.common.exceptions.NoSuchElementException问题解决]]></title><link>https://blog.youkuaiyun.com/devoen/article/details/111656677</link><guid>https://blog.youkuaiyun.com/devoen/article/details/111656677</guid><author>devoen</author><pubDate>Fri, 25 Dec 2020 09:10:26 +0800</pubDate><description><![CDATA[python爬虫页面按钮未加载报错selenium.common.exceptions.NoSuchElementException问题解决

前言

在爬取公司内部网站数据时，是通过先生成下载任务，再切换至下载界面，点击下载按钮下载数据，简单来说，只是模拟人对浏览器的点击动作，进而将重复性工作自动化

道路坎坷，bug出现

昨天终于成功将爬取的数据插入数据库，并且在今天早上刚上班之际，发现昨天下班前还在执行的爬虫脚本完美的运行完毕，瞬间沾沾自喜，心想：“不错不错，总算可以稳定爬取数据了”，可当我喜滋滋的]]></description><category></category></item><item><title><![CDATA[Oracle 用merge into 解决插入重复数据问题]]></title><link>https://blog.youkuaiyun.com/devoen/article/details/111596547</link><guid>https://blog.youkuaiyun.com/devoen/article/details/111596547</guid><author>devoen</author><pubDate>Wed, 23 Dec 2020 19:16:20 +0800</pubDate><description><![CDATA[Oracle 用merge into 解决插入重复数据问题
继昨天解决用python向oralce插入数据问题，今天考虑到我插入的数据每次都是包含前一次插入的数据，太多重复值不利于之后的数据可视化，所以想着能不能插入数据的时候自动判别重复的值，只导入不重复的值，一开始用
install into a where a.t not in (select t from a )
结果报错，百度才知道install不能直接跟where，查询好久发现好多都指向用merge into,于是直接去搜了它的用法，感觉可行，就]]></description><category></category></item><item><title><![CDATA[python 导入Oracle数据库报错TypeError: expecting string or bytes object解决]]></title><link>https://blog.youkuaiyun.com/devoen/article/details/111563900</link><guid>https://blog.youkuaiyun.com/devoen/article/details/111563900</guid><author>devoen</author><pubDate>Tue, 22 Dec 2020 19:00:50 +0800</pubDate><description><![CDATA[**
python 导入Oracle数据库报错TypeError: expecting string or bytes object解决
**
第一次使用博客，之后打算开始记录当天python使用中学习到的新的知识点，今天在学习如何使用python将数据插入Oracle时，总是遇到ypeError: expecting string or bytes object这个错误，网上搜索了好多内容，关于这个错误的很少，之后经过各种尝试，初步猜测是导入的数据中字符类型有误，有一个博客说是空值nan的原因，于是用如下]]></description><category></category></item></channel></rss>