python
牛帅兵
Python
Go
展开
-
Django反向migration数据库
Django反向migration数据库最近接手了一个django项目,由于之前的开发者经常手动修改表结构,导致django的migrations和数据库无法保持一致。想要彻底解决一下这个历史遗留问题。思路将现有数据库结构反向migration为model文件删除现在所有app下的migrations文件采集生成的model文件的migrations,migrate但是不应用生成model文件下面我使用的django项目名称为hello_world, 使用的setting文件为settin原创 2020-12-05 15:27:35 · 549 阅读 · 0 评论 -
django+uwsgi+nginx部署项目
准备工具nginx 1.16.0nginx下载: wget http://nginx.org/download/nginx-1.16.0.tar.gzpcre 8.40pcre下载: wget https://netix.dl.sourceforge.net/project/pcre/pcre/8.40/pcre-8.40.tar.gz系统环境: ubuntu 16.04解压安装pc...原创 2019-07-17 11:28:42 · 158 阅读 · 0 评论 -
windows环境tornado搭建websocket
项目结构websocket server端代码在实际开发中用到了跨域,所以这里添加了跨域而且在tornado中如果websocket和发起websocket请求的网址不同源,会报403错误,所以在这里重写了check_origin这个方法。from abc import ABCimport tornado.webimport tornado.websocketimport tor...原创 2019-07-04 12:01:22 · 384 阅读 · 0 评论 -
在ubuntu16.04下安装myqlclient遇到的一系列问题解决方案
错误1:/mysqlclient-1.4.2.post1.tar.gz ERROR: Complete output from command python setup.py egg_info: ERROR: /bin/sh: 1: mysql_config: not found Traceback (most recent call last): File ...原创 2019-06-17 12:13:49 · 670 阅读 · 0 评论 -
python3通过udp实现组播数据的发送和接收
本文主要通过对海康摄像头进行抓包,模拟发送了udp包,并抓取摄像头返回的数据包,解析并提取相关信息。通过抓包发现,海康摄像头发送、接收数据使用udp协议,后来比较发现,使用python模拟起来比较简单。由于摄像头内置了udp协议的server端程序,本文主要使用python模拟客户端发送udp数据包。客户端代码import socketimport reANY = "0.0.0.0"...原创 2019-05-28 19:06:59 · 7206 阅读 · 6 评论 -
SOCK_STREAM和SOCK_DGRAM区别
sock_stream 是有保障的(即能保证数据正确传送到对方)面向连接的SOCKET,多用于资料(如文件)传送。sock_dgram 是无保障的面向消息的socket , 主要用于在网络上发广播信息。SOCK_STREAM是基于TCP的,数据传输比较有保障。SOCK_DGRAM是基于UDP的,专门用于局域网,基于广播SOCK_STREAM 是数据流,一般是tcp/ip协议的编程,SOCK_D...原创 2019-05-27 20:33:25 · 343 阅读 · 0 评论 -
Ubuntu环境下创建python虚拟环境
首先ubuntu中默认已经安装python,选择合适的python版本首先应该安装pip工具,安装过程见另一篇文章,pip安装和更新直接安装virtualenvwrapperpip install virtualenvwrapper安装完成之后,创建用来存放虚拟环境的目录mkdir ~/.virtualenvs进入刚才创建的文件夹下,创建.bashrc文件并添加行vi...原创 2019-03-06 19:19:02 · 234 阅读 · 0 评论 -
Ubuntu16.04将python命令指向python3
第一步:将原来的python文件进行备份sudo cp /usr/bin/python /usr/bin/python_bak第二步:删除原来指向python2的文件sudo rm /usr/bin/python第三步:重新指向python3版本sudo ln -s /usr/bin/python3.5 /usr/bin/python...原创 2019-03-06 18:24:38 · 2151 阅读 · 0 评论 -
ubuntu下安装更新pip
sudo apt install python3-pip安装成功后进行更新:sudo pip3 install --upgrade pip升级完成之后就可以使用pip指令进行包管理了安装python包pip install packagename卸载python包pip uninstall packagename列出当前环境下所安装的python包pip list...原创 2019-03-06 18:13:14 · 3578 阅读 · 0 评论 -
爬虫的爬取策略概念:深度优先 广度优先
在爬虫系统中,待抓取URL队列是很重要的一部分,待抓取URL队列中的URL以什么样的顺序排队列也是一个很重要的问题,因为这涉及到先抓取哪个页面,后抓取哪个页面。而决定这些URL排列顺序的方法,叫做抓取策略。下面是常用的两种策略:深度优先、广度优先深度优先深度优先是指网络爬虫会从起始页开始,一个链接一个链接跟踪下去,处理完这条线路之后才转入下一个起始页,然后继续追踪scrapy默认爬取策略就是...原创 2019-03-08 17:40:26 · 4077 阅读 · 0 评论 -
使用布隆去重代替scrapy_redis(分布式爬虫)自带的dupefilter
使用布隆去重代替scrapy_redis(分布式爬虫)自带的dupefilterGithub下载链接:https://github.com/liyaopinner/BloomFilter_imooc精简版百度云盘链接: https://pan.baidu.com/s/11a_K_6WTifeHTG8lIY5ckQ 提取码: kq73安装mmh3库a>使用布隆去重之前需要安装mmh3...原创 2018-09-28 20:42:59 · 1945 阅读 · 1 评论 -
scrapyd部署爬虫项目
scrapyd部署爬虫项目:功能:它就相当于是一个服务器,用于将自己本地的爬虫代码,打包上传到服务器上,让这个爬虫在服务器上运行,可以实现对爬虫的远程管理。(远程启动爬虫,远程关闭爬虫,远程查看爬虫的一些日志。)scrapyd的安装pip install scrapydscrapyd-client的安装pip install scrapy-client注意:请务必保持scr...原创 2018-09-28 09:22:31 · 371 阅读 · 0 评论 -
scrapy部署分布式爬虫
首先需要下载redis数据库和Redis数据可的可视化工具,将redis数据库设置为远程连接打开该文件,修改里面的配置信息修改该值为主机IP地址关闭保护模式(将yes改为no)如果电脑中服务已经存在redis服务,需要将redis服务卸载之后,重新启动,并设置为自启。相关的redis命令如下:a> 安装服务redis-server --service-install r...原创 2018-09-26 20:29:27 · 653 阅读 · 1 评论 -
scrapy自定义pipeline的方法
重写该方法可以输出图片或者文件的存储路径下面这两个方法可以实现重命名图片或者文件的名称以及存储路径原创 2018-09-19 08:40:00 · 1077 阅读 · 0 评论 -
scrapy异步写入
下载图片和文本文件自定义图片存储pipeline,是基于Scrapy自带的ImagePipeline实现的,只需要在ImagePipeline的基础上重写图片的保存路径和名称相对应的方法。class ImagePipeline(ImagesPipeline): # 遍历图片的url,然后把图片的item传递给file_path def get_media_requests(self, ...原创 2018-09-18 09:18:06 · 363 阅读 · 0 评论