「数据」沙里淘金
文章平均质量分 57
Hugh_Dong
这个作者很懒,什么都没留下…
展开
-
「Python」控制台输出颜色
显示格式 \033[显示方式;前景色;背景色m显示方式 显示方式 意义 0 终端默认设置 1 高亮显示 4 使用下划线 5 闪烁 7 反白显示 8 不可见前景色和背景色 前景色 背景色 颜色 30 40 黑色 31 41 红色 ...原创 2018-06-09 22:57:30 · 2027 阅读 · 0 评论 -
「Mongo」索引优先级的问题
在MongoDB复合索引的情况下,写在前面的字段优先级更高,直接影响查询速度。我的数据库结构是集合 test 中有爬虫数据,字段结构基本相同。{ "_id" : ObjectId(), "source" : "hhnsh", // 区分数据来源 "date" : "2001-01-01", // 通过日期排序 "title&q原创 2018-06-10 19:25:26 · 1299 阅读 · 0 评论 -
「Python」正则\b异常的问题解决
在使用正则表达式排除指定字符串时,经常用到\b(?!*)来匹配, Python的正则引擎有个需要注意的问题,否则会导致\b失效需求是将html标签中的参数匹配出来洗掉,但要保留src,href>…等几个指定的参数, 网上常用的思路是使用\b(?!xxx)\w+来实现排除指定单词, 在sublime中的测试结果: regextester在线工具测试结果: 在j...原创 2018-06-10 19:24:52 · 1716 阅读 · 0 评论 -
「Python」数据清洗常用正则
爬虫从网站上爬取的内容在读写操作时经常会报以下错误: UnicodeEncodeError: ‘gbk’ codec can’t encode character ‘\u200b’ in position 7: illegal multibyte sequence 所以需要我们对数据Unicode进行清洗,排除文章内异常的Unicode符号。清洗思路我的思路是用正则...原创 2018-06-10 19:24:17 · 3891 阅读 · 2 评论 -
「Python」数据清洗常用正则
对爬虫数据进行自然语言清洗时用到的一些正则表达式标签中的所有属性匹配(排除src,href等指定参数)参考链接# \b(?!src|href)\w+=[\'\"].*?[\'\"](?=[\s\>])# 匹配特征 id="..." # \b(?!...)排除属性名中的指定参数,零宽断言前向界定判断属性结束# tips: 带\b的python正则匹配一定要加r...原创 2018-06-10 19:23:13 · 1514 阅读 · 0 评论 -
「Python」记一次凭想象重复造轮子的错误示范
读文档的意义在于知道别人已经实现了什么,怎么用 读源码的意义在于知道轮子是怎么造出来的 要好好学英语 用了三天的时间造了一个方形轮子,记录下来以吸取教训。 需求是用正则匹配一段文章,有n个匹配项,指定删除其中的某一个(第1个/第2个/倒数第1个…) Python re库的文档是英文的,在提不起兴趣一句一句翻译下,从这里开始走上了一条岔路。 错误的实现思路: ...原创 2018-06-10 19:22:01 · 414 阅读 · 0 评论 -
「Python」爬虫自然语言清洗组件 v1.0.0
公告:博主因使用魔理沙的扫把表达清洗,已被车万粉拉去祭天。设计思路我认为从网站上爬取下来的内容要清洗的有两大块:通用清洗和规则清洗,换句话说就是可复用的和不可复用的。 通用清洗是每个爬虫常见的问题,比如特殊编码、html标签、换行空格符等。 特殊清洗是在通用清洗的基础上,网站结构产生的特殊问题,比如多余的固定字符等。通用清洗通用清洗涵盖以下几个方面: ...原创 2018-06-09 23:00:01 · 677 阅读 · 1 评论 -
「Mongo」块操作初体验
在MongoDB中使用批量操作或块操作「Bulk Write」在效率上有非常大的提升,适合大量写操作第一次尝试使用批量操作进行数据清洗,并且用PyMongo模拟了少量数据来进行测试,构造50w条数据进行插入或更新操作。 模拟环境: PyMongo 3.6.1 MongoDB 3.4.7 Python 3.6.4 :: Anaconda, Inc.模拟数据...原创 2018-06-09 22:59:32 · 422 阅读 · 0 评论 -
「Scrapy」爬虫状态反馈组件 v1.0.0
爬虫服务在服务器上跑着,心里面难免会犯嘀咕, 爬虫死掉了怎么办? 爬虫漏了数据怎么办? 爬虫被网站封禁了怎么办? 目标网站挂了怎么办? 返回页面错误或被跳转怎么办? …以上来自一个被迫害妄想症患者的自白(误) 一次性爬取数据可以通过人工看日志来判断,不行就多爬几遍, 但如果是放在服务器上定时爬取的服务怎么办?尤其是已经部署在Docker中的爬...原创 2018-06-09 22:58:42 · 1011 阅读 · 0 评论 -
「Mongo」聚合操作与清洗重复数据项
使用Mongo聚合操作来进行重复的数据项清洗,并使用PyMongo加入到数据清洗组件中。当前环境:PyMongo 3.6.1 / MongoDB 3.4.7 / Python 3.6.4 :: Anaconda, Inc.在爬虫中断续爬时会出现少量数据重复的问题,我将数据去重放在了数据清洗环节,清洗的过程中顺带将重复的数据删除。 Mongo老版本的解决方案是建立单一索引,Mo...原创 2018-06-10 19:26:06 · 2793 阅读 · 0 评论