Python
今夜睡火星
这个作者很懒,什么都没留下…
展开
-
使用crontab执行定时任务时加flock独占锁防止进程堆积
使用crontab执行定时任务,此处为每分钟执行一次,加flock独占锁防止进程堆积。注意给/var/run/读写权限,或者放到一个有读写权限的文件夹。*/1 * * * * flock -xn /var/run/test.lock -c /home/mikasa/test.sh >> /home/mikasa/test_sh_log.log 2>&1test.sh...原创 2020-02-27 18:31:58 · 624 阅读 · 0 评论 -
pyppeteer文档
https://miyakogi.github.io/pyppeteer/reference.html原创 2020-01-09 11:16:01 · 1608 阅读 · 0 评论 -
定时拷贝删除文件命令
拷贝文件夹,会把这个文件夹下的文件拷贝到oss的img文件夹下要加/,不然会重命名为img的文件,而不拷贝iiimg文件夹本身./ossutil64 cp /home/leite/iiimg/ oss://elatemall/img/ -rf./ossutil64 cp /home/leite/iiimg/ oss://elatemall/img/ -rf --update 增量上传./os...原创 2020-01-08 16:45:08 · 400 阅读 · 0 评论 -
linux后台运行进程方法
后台运行进程方法# 安装screensudo apt install screen# 执行命令screen# 按enter打开新的窗口,输入要执行的命令,比如appiumappium# 返回出界面ctrl+a+d# 查看子界面screen -ls# 回到子界面screen –r [子页面序号]也可以使用:# 进入文件目录nohup python3 -u name.p...原创 2019-12-21 20:23:00 · 272 阅读 · 1 评论 -
ubuntu18.04搭建appium环境
ubuntu18.04搭建appium环境一、安装nodejs和npm``# 首先更新源及工具sudo apt-get updatesudo apt-get upgrade# 执行命令,此方法安装的版本比较老旧sudo apt-get install nodejssudo apt-get install npm# 升级nodejs# 清除node缓存sudo npm cach...原创 2019-12-21 20:20:03 · 600 阅读 · 0 评论 -
ubuntu安装配置nginx
安装配置nginx更新源apt-get update依赖包安装sudo apt-get ``install openssl libssl-devwget http://www.zlib.net/zlib-1.2.11.tar.gztar zxvf zlib-1.2.11.tar.gzcd zlib-1.2.11① ./configure //在解压软件目录内部...原创 2019-11-01 23:15:03 · 197 阅读 · 0 评论 -
scrapy使用selenium时爬虫关闭浏览器的方法
这里是官方提供的最新的方法from scrapy import signals# 此为官方推荐的信号使用方法,用来关闭浏览器@classmethoddef from_crawler(cls, crawler, *args, **kwargs): spider = super(YourSpider, cls).from_crawler(crawler, *args, **kwargs...原创 2019-06-06 10:16:05 · 1808 阅读 · 0 评论 -
scrapy.Request构造请求时,无法得到数据
这可能是因为没有数据的链接被过滤,会影响下边数据的获取。可尝试在参数中添加dont_filter=Truescrapy.Request(url, self.parse, dont_filter=True)启用不过滤原创 2019-06-06 10:08:27 · 1656 阅读 · 2 评论 -
Linux统计文件夹、文件数量的命令
查看当前目录下的文件数量(不包含子目录中的文件)ls -l|grep "^-"| wc -l查看当前目录下的文件数量(包含子目录中的文件) 注意:R,代表子目录ls -lR|grep "^-"| wc -l查看当前目录下的文件夹目录个数(不包含子目录中的目录),同上述理,如果需要查看子目录的,加上Rls -l|grep "^d"| wc -l查询当前路径下的指定前缀名的目录下的所...转载 2019-05-28 16:17:27 · 865 阅读 · 0 评论 -
ubuntu安装chrome
又在网上搜索,下面方法可行:复制代码 代码如下:Download google chrome for ubuntu from terminal with the following command:For the 32-bit version of Google Chrome, use this command below.wget https://dl.google.com/linux/...原创 2019-05-23 16:04:17 · 375 阅读 · 0 评论 -
python函数内说明文档使用
示例如下:def func(self): ''' 它的首行简述函数功能,第二行空行,第三行为函数的具体描述。 此函数的具体描述在这里 ''' print(abc)print(func.__doc__) # 与def对齐,__是双下划线,获取上边的说明文档 ...原创 2019-05-22 14:28:43 · 1453 阅读 · 0 评论 -
使用pip安装时出现pip._vendor.requests.exceptions.HTTPError: 404 Client Error: Not Found for url:的解决方法
solution:实际上是pkg-resoures中还有没有完全同步的资源.可以修改pip.conf为国外的源, 先备份, 更新后再备份过来. 以unbuntu 为例:mv /root/.pip/pip.conf /root/.pip/pip.conf.bkvi /root/.pip/pip.conf 修改如下:[global]#index-url=http://mirrors.a...转载 2019-05-24 11:43:54 · 14638 阅读 · 0 评论 -
Python requests 设置verify=False移除SSL认证时,解决InsecureRequestWarning警告。
添加 requests.packages.urllib3.disable_warnings()requests.packages.urllib3.disable_warnings()content = requests.get(url, verify=False)原创 2019-05-29 16:01:15 · 11937 阅读 · 0 评论 -
mysql查询时间戳和日期的转换及查询当天插入记录
mysql提供了两个函数: from_unixtime(time_stamp) -> 将时间戳转换为日期 unix_timestamp(date) -> 将指定的日期或者日期字符串转换为时间戳如果要查询当天的订单的记录:select count(*) from b_order Where date_format(from_unixtime(create_ti...转载 2019-06-13 19:45:25 · 1490 阅读 · 0 评论 -
python文件设置日志
# 导入模块import logging# 配置输出格式log_format = "%(asctime)s - %(levelname)s - %(message)s" # 日志输出格式logging.basicConfig(filename='tracklog.log', filemode='a', level=logging.DEBUG, format=log_format) # ...原创 2019-06-11 09:54:39 · 276 阅读 · 0 评论 -
python使用socket和socks连接代理ip服务器
# 导入模块import socket # 内置库import socks # 需要安装:pip install pysocks# 配置# 代理服务器IP(域名),开发中要替换成实际ipsocks5_proxy_host = '127.0.0.1'# 代理服务器端口号,开发中要替换成实际端口socks5_proxy_port = 80# 设置代理socks.set_defau...原创 2019-06-11 10:00:09 · 5910 阅读 · 0 评论 -
twisted.internet.error.TimeoutError错误的解决方法
少数链接会出现请求超时,当出现请求超时时,爬虫会自动重试三次,若超过180s且三次后仍没有得到数据,就会放弃请求出现twisted.internet.error.TimeoutError 错误。此时就出现了爬取失败的情况。原因:当网络无法满足在180s内下载完所有的请求数量,就会出现此类错误。解决办法:这里做个示例,具体情况具体分析1、降低同时请求的数量CONCURRENT_REQUEST...原创 2019-06-04 22:19:27 · 5404 阅读 · 1 评论 -
python删除redis数据库中的键
from redis import Redisredis_db = Redis(host=REDIS_HOST, port=REDIS_PORT, db=REDIS_DB)redis_db.delete(key, )原创 2019-06-11 16:45:07 · 3009 阅读 · 0 评论 -
python一行代码获取前一个月,前一天时间
https://www.jb51.net/article/146561.htm转载 2019-06-27 17:12:08 · 1239 阅读 · 0 评论 -
Python抓取实时变化的 WebSocket 数据
参考一下文章https://mp.weixin.qq.com/s?__biz=MzIzNzA4NDk3Nw==&mid=2457737214&idx=1&sn=36e1446625ec643f765d9cf8e7dd3170&chksm=ff44bfa0c83336b60c5334ddb2ec954def04c3c37f989ae3b1945a200c0a87e3...转载 2019-10-11 11:43:51 · 881 阅读 · 0 评论 -
把Mar 4, 2019时间格式转为时间戳
import timea = "Mar 4, 2019"str = time.strptime(a, "%b %d, %Y")# 转为时间戳timestamp = int(time.mktime(str))print(timestamp)# 转为正常时间time1 = time.strftime("%Y-%m-%d", time.localtime(timestamp))prin...原创 2019-04-09 14:28:39 · 744 阅读 · 0 评论 -
python往mysql存入数据时可能会断开连接的解决方法
执行sql语句前先执行这个代码 self.conn.ping(reconnect=True) # 若mysql连接失败就重连原创 2019-05-20 17:38:19 · 2105 阅读 · 0 评论 -
python 可能出现的编码问题(latin-1,ascii报错)
尽量全部使用英文输出,因为你不知道服务器会出现什么样的编码问题。1.UnicodeEncodeError: 'latin-1' codec can't encode characters in position 9-13: ordinal not in range(256)类似这种的问题一般是中文编码错误,例如 :print('sql语句正确'.encode("utf-8").decode...原创 2019-05-20 17:34:16 · 6259 阅读 · 2 评论 -
服务器安装与配置nginx,便于我们可以通过ip地址访问服务器资源。
1.更新源apt-get update2.依赖包安装sudo apt-get ``install openssl libssl-dev依赖包zlib**wget http://www.zlib.net/zlib-1.2.11.tar.gz**tar zxvf zlib-1.2.11.tar.gzcd zlib-1.2.11① ./configure ...原创 2019-05-20 17:31:21 · 2581 阅读 · 0 评论 -
linux命令终端只显示最新的几条信息
tail -n 80 -f test.txt原创 2019-04-30 09:50:06 · 540 阅读 · 0 评论 -
DeBug Python神级工具PySnooper
GitHub项目地址安装pip3 install pysnooperimport pysnooper@pysnooper.snoop()def number_to_bits(number): if number: bits = [] while number: number, remainder = divmod(num...转载 2019-04-24 16:53:25 · 5096 阅读 · 0 评论 -
python小型定时任务--schedule
import osimport scheduleimport timedef job(): os.system("scrapy crawl saveSpider") print('yici ')schedule.every().minutes.do(job)# schedule.every().hour.do(job)while True: sched...原创 2019-04-23 17:26:56 · 411 阅读 · 0 评论 -
python读取pdf文件
'''读取pdf文件'''from urllib.request import urlopenfrom pdfminer.pdfinterp import PDFResourceManager, process_pdffrom pdfminer.converter import TextConverterfrom pdfminer.layout import LAParamsfro...转载 2019-04-12 18:51:48 · 2570 阅读 · 0 评论 -
TCP的3次握手与4次挥手
参考图例: TCPD的6个标志位*:* SYN:发起一个新连接 FIN:释放一个连接 ACK:确认 RST:重置连接 URG:紧急指针(urgent pointer)有效 PSH:传送(接收方应该尽快将这个报文交给应用层)三次握手,四次挥手: 都是双向连接三次握手:第一次握手:客户端向服务端发送建立连接请求。第二次握手:服务端收到请求后向客户端发送确认联机信息,同...原创 2018-09-02 10:32:10 · 215 阅读 · 0 评论 -
Python中,获取字符串里的数字串并打印,一串数字打印一行。
先使用列表生成式,取到字符串中的数字 使用''.join()转换成字符串 切片打印 a = 'adfsdf1324dfsdfuu8908098sdfs'b = ''.join([i for i in a if i.isdigit()])c = b[:4]d = b[4:]print(c)print(d) ...原创 2018-08-08 15:44:05 · 3158 阅读 · 0 评论 -
Scrapy爬虫改为Scrapy-Redis增量式爬虫
如何把一个Scrapy项目改造成Scrapy-Redis增量式爬虫前提: 安装Scrapy-Redis1.原有的爬虫代码不用改动2 在setting配置文件中添加如下配置1. 增加了一个去重容器类的配置, 作用使用Redis的set集合来存储请求的指纹数据, 从而实现请求去重的持久化DUPEFILTER_CLASS = “scrapy_redis.dupefilter.RFP...原创 2018-08-07 14:29:42 · 6318 阅读 · 2 评论 -
Python中按照时间分类创建文件夹
import osimport datetime# 下面列举三种格式# 年-月-日 时:分:秒nowTime=datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')# 年-月-日dayTime = datetime.datetime.now().strftime('%Y-%m-%d')# 时:分:秒hourTime = datet...原创 2019-04-30 10:20:53 · 1704 阅读 · 0 评论 -
测试代理ip是否可用的方法
import randomimport requestsimport re'''利用访问http://icanhazip.com/返回的IP进行测试说明:利用的http://icanhazip.com/返回的IP进行校验,如返回的是代理池的IP,说明代理有效,否则实际代理无效'''# 代理ip池PROXIES_NEW = { "https": [ "ht...原创 2019-05-06 12:41:30 · 29756 阅读 · 0 评论 -
使用pip批量安装
# 批量导出包到文件中pip freeze > requirements.txt# 批量安装pip install -r requirements.txt原创 2019-05-13 17:48:51 · 523 阅读 · 0 评论 -
Python爬虫:scrapy定时运行的脚本
由于服务器的crontab莫名挂掉了,还没找到解决的办法,于是找了另一个方法原理:1个进程 -> 多个子进程 -> scrapy进程将以下代码文件放入scrapy项目中任意位置即可from multiprocessing import Processfrom scrapy import cmdlineimport timeimport logging# 配置参数即可,...转载 2019-05-20 17:12:47 · 1025 阅读 · 0 评论 -
安装twisted出现fatal error: Python.h: 没有那个文件或目录 解决方法
添加链接描述转载 2019-05-20 15:02:55 · 771 阅读 · 0 评论 -
ubuntu设置允许root用户登录
1:使用用户名ubuntu登录2:sudo passwd root修改root密码,密码输入不可见,需要再次确认密码3:修改ssh配置sudo vi /etc/ssh/sshd_config命令行输入i进行编辑修改文件中的PermitRootLogin为yes按Esc,输入wq + enter保存修改4:重启ssh服务sudo service ssh resta...原创 2019-05-14 15:12:42 · 271 阅读 · 0 评论 -
ubuntu安装新版vim
sudo apt-get remove vim-commonsudo apt-get install vim原创 2019-05-14 14:43:25 · 1495 阅读 · 0 评论 -
ubuntu安装redis
安装redis# 这里下载的是redis-4.0.9稳定版wget http://download.redis.io/releases/redis-4.0.9.tar.gztar xzf redis-4.0.9.tar.gzsudo mv ./redis-4.0.9 /usr/local/redis # 若redis文件夹不存在就创建cd /usr/local/redis/sudo ...原创 2019-05-14 14:39:57 · 119 阅读 · 0 评论 -
使用selenium时退出浏览器
def __del__(self): '当本对象销毁的时候退出浏览器' print("执行了") self.driver.quit()原创 2019-05-09 11:15:23 · 2456 阅读 · 0 评论