随笔:中康云数据中台项目总结
2021年,数据中台发起的项目产品。如今公司组织架构调整,该项目也已经下马。为自己一年的工作,做一些记录。
背景demo 测试 马克一下,之后补充内容
运行维护:Centos系统批量查杀僵尸进程
运行维护:Centos系统批量查杀僵尸进程
运行环境 Runtime environment1操作系统: Red Hat 4.8.5-16
背景类似开启Win系统的任务管理器,输入top命令
top
1234567top - 16:10:53 up 25 days, 11 min, 2 users, load average: 3.00, 3.21, 2.93Tasks: 595 total, 2 running, 593 sleeping, 0 stopped, 22 zombie%Cpu(s): 7.7 us, 1.6 sy, 0.0 ni, 90.7 id, 0.0 wa, 0.0 hi, 0.1 si, 0.0 stKiB Mem : 65536176 total, 37648408 free, 22068912 used, 5818856 buff/cacheKiB Swap: 52428796 total, 52428796 free, 0 used. 42291636 avail Mem....
22 zombie ...
运行维护:杀光光~浅记killall命令的使用
运行维护:杀光光~浅记killall命令的使用
pyppeteer 使用多有报错,产生了很多废弃进程堆积,需要批量kill。
运行环境 Runtime environment1操作系统: Red Hat 4.8.5-16
背景由于目标网站是r数反爬,考虑到数据量不算大,就直接使用动态 scrapty+gerapy-pyppeteer 采集。
但是,爬取依然相当的不稳定,卡死的现象还是比较频繁的,导致了错误的进程堆积在linux系统里。
ps -aux|grep chrome
查询一下,头皮发麻。
kill all 介绍Linux killall 用于杀死一个进程,与 kill 不同的是它会杀死指定名字的所有进程。
kill 命令杀死指定进程 PID,需要配合 ps 使用,而 killall 直接对进程对名字进行操作,更加方便。
kill all 参数明细1234567891011121314151617参数说明: name : 进程名选项包含如下几个参数: -e | --exact : 进程需要和名字完全相符 -I | --ignore-case :忽略 ...
Python:pymysql链接mysql数据库查询简单实例
Python:pymysql链接mysql数据库查询简单实例。
pymysql是一个工具包,主要是在Python里面连接数据库然后直接在Python里面连接数据库进行操作,是Python的第三方包。
运行环境 Runtime environment123操作系统: Windos10 IDE: pycharm 2021.3.1 x64 语言: python v3.9.1
背景能有啥背景,搞开发的,或多或少要接触mysql数据库吧?
在这里主要是记录以后代码模板,方便以后自己拿来用。
Python 3 还是推荐使用 pymysql
安装 pymysql
pip install pymysql
or
pip3 install pymysql
代码123456789101112131415161718192021222324252627282930313233343536import pymysqldef init(host,user,password,db): db = pymysql.connect(host,user,password,db) return ...
Python爬虫:传递scrapy参数的几种方式
Python爬虫:传递scrapy参数的几种方式
运行环境 Runtime environment1234操作系统: Windos10 IDE: pycharm 2021.3.1 x64 语言: python v3.9.1框架: Scrapy v2.4.1
scrapy 爬虫文件中重写init初始化方法,使用super继承原init方法
添加参数传递jobid=None, *args, **kwargs。
123def __init__(self, jobid=None, *args, **kwargs): # print(jobid) super(yourSpider, self).__init__(*args, **kwargs)
execute 方法启动 传参
execute([“scrapy”, “crawl”, “taobao_spider”, “-a”, “jobid=taobao_craw_20210512”])
scrapyd 方法传参在启动的请求中,带上参数
project=your_project&spider=yo ...
运行维护:浅记tail命令的使用
tail 命令可用于查看文件的内容,有一个常用的参数 -f 常用于查阅正在改变的日志文件。
运行环境 Runtime environment1操作系统: Red Hat 4.8.5-16
背景爬虫采集的日志内容还是相当庞大的,之前使用nohup的时候,查询日志,用cat命令读取,刷得眼花。
当我只想看最新的几行日志,用tail可以方便的查看。
命令介绍tail 命令可用于查看文件的内容,有一个常用的参数 -f 常用于查阅正在改变的日志文件。
tail -f filename 会把 filename 文件里的最尾部的内容显示在屏幕上,并且不断刷新,只要 filename 更新就可以看到最新的文件内容。
命令格式:
tail [参数] [文件]
参数介绍12345678-f 循环读取-q 不显示处理信息-v 显示详细的处理信息-c<数目> 显示的字节数-n<行数> 显示文件的尾部 n 行内容--pid=PID 与-f合用,表示在进程ID,PID死掉之后结束-q, --quiet, --silent 从不输出给出文件名的首部-s, --sleep-inte ...
运行维护:浅记Screen命令的使用
运行维护:浅记Screen命令的使用
screen 是一个非常有用的命令,提供从单个 SSH 会话中使用多个 shell 窗口(会话)的能力。
当会话被分离或网络中断时,screen 会话中启动的进程仍将运行,你可以随时重新连接到 screen 会话。
运行环境 Runtime environment12操作系统: Red Hat 4.8.5-16screen: 4.01.00devel (GNU) 2-May-06
背景想要方便又优雅的管理程序后台运行。
比nohup更灵活更强大的后台运行。
screen 介绍screen 是一个非常有用的命令,提供从单个 SSH 会话中使用多个 shell 窗口(会话)的能力。
当会话被分离或网络中断时,screen 会话中启动的进程仍将运行,你可以随时重新连接到 screen 会话。
如果你想运行一个持久的进程或者从多个位置连接到 shell 会话,这也很方便。
在本文中,我们将展示在 Linux 上安装和使用 screen 的基本知识。
安装 screen在一些流行的发行版上已经预安装了。你可以使用下面的命令检查是否已经在你的服务器上安 ...
疑难杂症:incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line at...
疑难杂症:incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line at…
运行环境 Runtime environment12345操作系统: Windos10 IDE: webStrom 2021.3.1 x64 语言: nodeJs v14.15.4框架: hexo "5.3.0"theme: [Butterfly "3.6.1"]
症状写完博客,使用命令
hexo clean&&hexo g&&hexo s
出现了报错(节选):
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253ERROR { err: YAMLException: incomplete explicit mapping pair; ...
Python爬虫:使用多进程,让Scrapy采集速度如虎添翼
Python爬虫:使用多进程,让Scrapy采集速度如虎添翼.
运行环境 Runtime environment1234操作系统: Windos10 IDE: pycharm 2021.3.1 x64 语言: python v3.9.1框架: Scrapy v2.4.1
背景应用场景,站源的数据是按照日期区间(一年的第一天到该年的最后一天),来进行检索,根据结果整合成url列表来进行采集。
那么,这个列表中的url数量就会相当的庞大。
倘若对它进行切分,用多个相同的Scrapy爬虫,来对切分好的各个分段url进行采集,
加上scrapy自身的并发,那采集速度就可以指数倍增长。
当然,这也会消耗性能,对服务器的配置要求也会提高,代理IP消耗量也会增加。
就算使用批量插入数据,可能也会把mysql日到翻白眼…
Scrapy是线程级别,实现异步。
使用多个进程,来多次跑Scrapy爬虫。
为了避免本文篇幅过长,仅介绍如何多进程跑scrapy,不介绍如何切分url列表,让scrapy区间采集。
multiprocessing 模块介绍python中的多线程无法利用多核优势,如果想要 ...
数据清洗:Python的列表的交集、并集、差集
数据清洗:Python的列表的交集、并集、差集
运行环境 Runtime environment123操作系统: Windos10 IDE: pycharm 2021.3.1 x64 语言: python v3.9.1
背景数据清洗和结构化的时候,免不了要对两方数据进行对比或者合并。
Python列表的常见的三种集合操作,还是要记录一下。
代码1234567891011121314151617l1 = ['1','2','3','4']l2 = ['3','4','5','6']# 交集result1 = [i for i in l1 if i in l2]result2 = list(set(l1).intersection(set(l2)))print(result1)print(result2)# 并集result3 = list(set(l1).union(set(l2)))print(result3)# 差 ...