![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Python
文章平均质量分 60
蘑菇猎手
这个作者很懒,什么都没留下…
展开
-
使用docker部署chrome无头浏览器并解决中文乱码,为pyppeteer提供运行环境
项目$ ls -1demo.pyrequirements.txtMSYHBD.TTCDockfileDockfileFROM python:3.8-slimRUN apt-get update && apt-get -y install libnss3 xvfb gconf-service libasound2 libatk1.0-0 libc6 libcairo2 libcups2 libdbus-1-3 libexpat1 libfontconfig1 libgbm1原创 2021-04-27 13:30:42 · 6177 阅读 · 0 评论 -
基于浏览器的python爬虫神器pyppeteer介绍及入门
简介在讲 python 的 pyppeteer 前,先来说下 Node 的 puppeteer 库:puppeteer的中文意思是:操纵木偶的人,木偶师。那么 Node 的 puppeteer 是什么呢?Puppeteer 是一个 Node 库,它提供了高级的 API 来控制 Chrome/Chromium,通过 DevTools 协议。Puppeteer默认使用无头浏览器,但是通过配置可以控制完整的 Chrome/Chromium 浏览器。英文原文地址:https://github.com/p原创 2021-03-23 18:42:14 · 3348 阅读 · 0 评论 -
利用pandas.DataFrame.replace优雅的进行ETL特殊值替换
使用pandas的replace方法,优雅的进行ETL值替换原创 2019-12-09 16:19:21 · 933 阅读 · 0 评论 -
python3大端、小端(Big Endian、LittleEndian)编码
大端模式,小端模式指的是数据在内存地址中存储的顺序不同。一般操作系统都是小端,而通讯协议是大端的,所以我们在传输数据时,需要将数据转码。今天在调接口时,就遇了一个这样的接口: 将双字节文字使用Big Endian编码后,转为16进制HEX字符串传输。这个描述让我费了好大功夫去搜python3应该怎样实现。其实就是分两步: 1. 将内容使用utf-16-be编码去encode。 2. 将en............原创 2017-12-17 01:07:00 · 20822 阅读 · 3 评论 -
利用pandas连接mysql,oracle数据库进行查询和插入操作
环境配置:操作系统:win10(64位)oracle客户端:instantclient_11_2(64位)python版本:python3.6.3(64位)python相关包:sqlalchemy, pandas, pymysql,cx_oracle示例代码# python 3.6.3from sqlalchemy import create_engineimpor原创 2018-01-12 20:19:49 · 4857 阅读 · 0 评论 -
python常用日期相关函数
python自带了相当丰富的时间操作库,但想要介绍时间操作,未免太为繁琐和杂乱,所以这里只列出了一些实用的日期操作供大家参考。欢迎留言补充。获取当前日期import datetimetoday=datetime.datetime.today()print(today)获取日期的年、月、日import datetimetoday=datetime.datetim...原创 2018-05-16 16:13:05 · 1601 阅读 · 0 评论 -
解决psycopg2.DataError: invalid byte sequence for encoding "UTF8": 0x00
出错场景:在使用psycopg2的copy_expert插入数据时,遇到了这个错误。psycopg2.DataError: invalid byte sequence for encoding "UTF8": 0x00HINT: This error can also happen if the byte sequence does not match the encoding exp...原创 2018-08-03 16:06:00 · 3506 阅读 · 2 评论 -
celery自定义日志格式,自动为输出日志增加任务名(task name)和任务ID(task id)
由于celery是并发执行任务,日志经常是多个任务的输出交错的堆叠在一起,所以当要查询日志回溯某个问题时,总是非常困难。如果有一个条件,能过滤条出指定任务的日志,回溯就很容易了。很显然task id是个不错的选择,如果每条log都能带上自身所在任务的ID,筛选就很容易了。...原创 2019-01-14 18:05:53 · 10817 阅读 · 0 评论 -
使用conda管理python环境
使用conda作为python虚拟环境的管理工具,能够实现统一的python环境管理,能够轻松的解决环境依赖缺失,快速完成环境搭建。原创 2019-07-03 01:49:28 · 3997 阅读 · 0 评论 -
python输出json格式log,方便LogStash收集
为了配合LogStash日志收集服务,需要将线上服务的日志输出改为json格式。python日志标准库中并没有json格式的formatter,网上虽然已经有一些json相关的formatter,但不是很满意,就自己开发了一个并放到了github和pypi,目前仅支持Python3,能够很方便的解决自定义名映射属性问题,也支持新增自定义属性。欢迎小伙伴到我的github点星星、提问题:http...原创 2019-07-12 16:51:24 · 3492 阅读 · 0 评论 -
使用scrapy+mongodb爬取数据示例(附下载)
环境配置Window 10专业版MongoDB 3.4Robomongo 1.0Python 3.6Scrapy 1.4.0 (pip install scrapy)pymongo 3.5.0 (pip install pymongo )先看一下待爬页面,从而抽象出数据模式(text ,author,tags)创建Scrapy示例项目scrapy startproject tutori原创 2017-09-23 23:21:37 · 1005 阅读 · 0 评论 -
解决Win10成功安装pycrypto后依旧报错找不到
电脑配置:win10系统,64为专业版。 python版本:2.7.13由于我直接用pip install pycrypto,报错:error: Microsoft Visual C++ 9.0 is required. Get it from http://aka.ms/vcpython27就从这里http://www.voidspace.org.uk/python/pycrypto-2.6.1原创 2017-08-13 22:24:46 · 2237 阅读 · 2 评论 -
python selenium打开新窗口,多窗口切换
# coding=utf-8'''Created on 2016年8月9日@author: SunDongFang'''from selenium import webdriverbrowser=webdriver.Firefox()browser.maximize_window() # 窗口最大化browser.get('https://www.baidu.com') # 在当前浏览器中访原创 2016-08-10 11:24:45 · 52176 阅读 · 5 评论 -
解决selenium报错Element is not clickable at point...
今天写脚本是遇到个问题,元素明明存在,却怎么也点击不到,报错如下:Element is not clickable at point (683, 281.8999938964844). Other element would receive the click: 简单翻译一下:在位置(683, 281.8999938964844)的元素不可点击。另外一个元素接收了鼠标点击(后面是被原创 2016-04-20 20:32:23 · 19587 阅读 · 2 评论 -
Python关于socket的一个小型服务器和客户机实例
一个小型服务器>>> import socket>>> s=socket.socket()>>> hostname=socket.gethostname()>>> port=5566>>> s.bind((hostname,port))>>> s.listen(5)>>> while True:... c,addr=s.accept()... print '原创 2016-09-02 22:09:00 · 1360 阅读 · 0 评论 -
python字典键值对的添加和遍历
添加键值对首先定义一个空字典>>> dic={}直接对字典中不存在的key进行赋值来添加>>> dic['name']='zhangsan'>>> dic{'name': 'zhangsan'}如果key或value都是变量也可以用这种方法>>> key='age'>>> value=30原创 2016-08-12 16:59:19 · 135532 阅读 · 1 评论 -
解决Django编码报错UnicodeDecodeError: 'ascii' codec can't decode byte 0xb0 in position 1······
之前在用Apache+mod_wsgi.so搭建Windows下Django服务器时,Apache报错,错误日志中写到: [:warn] [pid 7112:tid 200] mod_wsgi: Compiled for Python/2.7.6. [:warn] [pid 7112:tid 200] mod_wsgi: Runtime using Python/2.7.11. ImportE原创 2016-09-03 20:15:36 · 5547 阅读 · 0 评论 -
安装setuptools和pip
准备工作:已安装python并配置好环境变量,可参考 http://blog.csdn.net/donggege214/article/details/52062855安装setuptools下载setuptools源码setuptools-25.2.0.tar.gz地址:https://pypi.python.org/pypi/setuptools 这是一个压缩文件,将其解压到桌面,并进入该文原创 2016-08-13 15:09:06 · 69420 阅读 · 6 评论 -
解决python虚拟环境用pip装包报Permission denied
操作系统:64位的Ubuntu14.04。 产生错误的操作步骤:cd /var/sudo virtualenv marsappsudo cp ~/myproject /var/marsappcd /var/marsapp/source bin/activatecd myproject/pip install -r requirements.txt这时候就遇到了报错:IOError: [原创 2017-06-13 15:08:07 · 7324 阅读 · 1 评论 -
python+eclipse+pydev开发环境搭建
一、安装Eclipse1.下载Eclipse IDE for Java EE Developers原创 2016-07-29 13:45:15 · 26179 阅读 · 1 评论