- 博客(44)
- 收藏
- 关注
原创 pymongo报错处理
在统计查询结果包含多少条数据的时候,一开始使用的是。方法已经被新版本淘汰了,我们可以使用新的统计方法。启动就行了,我找到两种方式,但不知道怎么比较好。如果是带条件的查询统计就需要使用。,只是封装库不同而已。坏,但以我的理解,底层都是。,运行之后,发现还是报错。后来找到了原因,发现把。在网上查找资料发现,
2024-07-20 14:19:04
248
原创 pycharm创建文件自动填写作者和时间
打开setting设置,找到Editor中File and code Templates --->Python Script。# @Author : 作者名。
2024-05-23 14:38:20
321
原创 pycharm鼠标滚轮控制字体大小
一、放大字体File —> setting —> Keymap —>在搜寻框中输入:increase—> Increase Font Size(双击) —> 在弹出的对话框中选择Add Mouse Shortcut在弹出的对话框中同时按住ctrl键和鼠标滚轮向上滑。二、字体缩小File —> setting —> Keym...
2019-10-20 10:28:13
714
原创 django orm查询中filter与get的区别
输入参数:get的参数只能是model中定义的哪些字段,只支持严格匹配filter的参数可以是字段也可以是扩展的where查询关键字,如in,like返回值:get返回值是一个定义的model对象filter返回值是一个新的QuerySet对象,然后可以对QuerySet在进行查询返回新的QuerySet对象,支持链式操作,QuerySet一个集合对象,可使用迭代或者遍...
2018-11-29 14:33:00
1741
转载 Flask编写接口文档
apidoc项目地址flask扩展包地址文档示例地址1.安装nodejssudo apt-get install nodejssudo apt install nodejs-legacysudo apt install npm1232.安装apidocnpm install apidoc -g13.Flask扩展包安装pip install flask-apid...
2018-08-28 19:59:46
3768
转载 微信公众号二次开发配置问题
由于我们在 服务器上已经配置过jango项目了,并且用nginx运行了…而且nginx默认运行的端口号是 80, 但是微信二次开发默认运行在80 端口上,,这个端口并不好修改,所以我们修改 nginx的配置文件让其运行在其他端口上…..首先我们找到 nginx的配置文件,配...
2018-08-17 15:48:51
303
原创 ubuntu更换pip源
启动并进入容器、 --name:为容器命名然后执行以下命令保存并退出时要先按Esc键,然后按shift冒号wq [global]timeout = 6000index-url = https://pypi.douban.com/simpletrusted-host = pypi.douban.com 安装Django实验:安装路径改为豆瓣源 ...
2018-08-03 16:54:36
3952
原创 修改docker镜像提高下载速度
原本下载路径是国外的路径 使用docker info命令查看运行以下命令修改路径:命令:sudo sed -i "s|EXTRA_ARGS='|EXTRA_ARGS='--registry-mirror=https://registry.docker-cn.com |g" /var/lib/boot2docker/profileexit docker-machine r...
2018-08-03 13:32:22
746034
原创 数据结构 排序算法的python实现
# # 冒泡排序、count = 0list1 = [9, 1, 7, 3, 2, 4, 6]# j表示每次遍历需要比较的次数,是逐渐减小的for j in range(len(list1)-1, 0, -1): print(f'这是第{len(list1)-j}轮排序开始') for i in range(j): if list1[i] > lis...
2018-08-02 17:17:06
212
原创 python 栈和队列
"""栈结构 类似于桶 先进后出 FIFO=first in last out栈结构的常用方法:pop 出栈push 入栈size 栈大小isempty 判断栈是否为空top 获取栈顶元素"""class Stack(object): def __init__(self): self.__stack = [] def push(se...
2018-08-01 17:55:29
250
原创 python 单链表
class LinkNode(object): # 设计单链表结点 def __init__(self, value=None, next=None): self.value = value self.next = next # # 设计双向链表结点 # def __init__(self, prex=None, value=No...
2018-08-01 17:28:23
302
原创 python 深度、广度遍历二叉树
首先进行二叉树的结点设计:class TreeNode(object): # 先写value,有的不一定有左右子树 def __init__(self, value, left_child=None, right_child=None): self.left_child = left_child self.value = value ...
2018-08-01 17:13:10
341
原创 scrapy爬虫和Django后台结合(爬取kw音乐)
代码结构: Spider/spider/kuwo.py爬虫代码:# -*- coding: utf-8 -*-import scrapyimport demjsonimport reimport osfrom ..items import MusicItem, SingerItemfrom bloomfilter import Bloomfilter #布隆过...
2018-07-28 15:27:35
8012
5
原创 django 安全
from django.shortcuts import HttpResponseimport demjsonimport functools# 定义装饰器def api(func): @functools.wraps(func) def deal_with(*args, **kwargs): response_data = demjson.encod...
2018-07-28 09:15:52
291
原创 给图片添加水印
# 先安装pillow,安装命令:pip install pillowfrom PIL import Image, ImageDraw, ImageFont# 字体后缀 都是ttffont = ImageFont.truetype('jww.ttf', 24)# image: 图片 text:要添加的文本 font:字体def add_text_to_image(image, t...
2018-07-20 21:19:23
1303
原创 python 项目公众化
python项目默认是本地才能访问,如果要让别人也能访这个项目,则需要更改一些配置首先在pycharm中打开项目,找到项目右上角在项目的settings.py 中找到ALLOWED_HOSTS = []方括号内可以添加允许访问你的项目的ip地址如ALLOWED_HOSTS = [“192.168.54.30”, “192.168.54.63”] 注意:被允许...
2018-07-20 20:25:28
251
原创 返回数据的若干方式
from django.shortcuts import HttpResponsefrom django.http import JsonResponsedef get_singers(request): url = "http://artistlistinfo.kuwo.cn/mb.slist?stype=artistlist&category=0&order=h...
2018-07-20 09:42:37
280
原创 跨源请求错误的解决方案
方法一:拼数据(api为定义的装饰器,参考)def api(func): @functools.wraps(func) def deal_with(*args, **kwargs): response_data = demjson.encode(func(*args, **kwargs)) response = HttpResponse(...
2018-07-19 23:01:10
1978
原创 Gerapy分布式爬虫管理框架
一,介绍Gerapy 是一款分布式爬虫管理框架,支持 Python 3,基于 Scrapy、Scrapyd、Scrapyd-Client、Scrapy-Redis、Scrapyd-API、Scrapy-Splash、Jinjia2、Django、Vue.js 开发。二,gerapy的初始化配置:安装gerapy框架。(注意要先用命令进入虚拟环境) 命令:pip insta...
2018-07-18 19:41:12
835
原创 scrapyd部署(远程管理爬虫项目)
1. 需要安装scrapyd=1.2.0 scrapyd-client=1.2.0a1首先进入虚拟环境 2. 启动scrapyd服务3. 配置爬虫项目: 4.开始向scrapyd中部署 查看当前可用于部署到scrapyd 服务中的爬虫有哪些参数1:[deploy:jobbole]参数2:scrapy.cfg文件中的url 命令scr...
2018-07-18 14:56:23
693
原创 url去重方案
url去重方案:1. 通过数据库进行url的去重,获取一条数据的时候,将url也保存到数据库中,在获取其他url的时候,先从数据库中查询是否存在这个url,如果存在就丢弃,反之就保存。效率太低。2. 通过set(),在内存中符url进行去重。 对内存的占用太高。eg:100000000条url * 50字符 * 2bytes /1024(KB)/1024(MB)/1024(GB) ...
2018-07-18 14:19:16
1091
原创 Python 常用的第三方扩展包
网址:https://www.lfd.uci.edu/~gohlke/pythonlibs/ 使用背景:当在pycharm中安装包的时候安装失败,或者是没有找到要安装的包,可以在该网页上面搜索需要的包,然后把文件下载到本地,在cmd中输入命令:pip install 下载的文件的路径(小技巧:文件的路径可以通过直接把该文件拉到cmd中生成) ...
2018-07-17 22:48:49
1722
原创 itemloader保存数据(伯乐在线为例)
代码如下:主要结构:# -*- coding: utf-8 -*-import scrapyfrom ..items import JobboleItemfrom urllib.parse import urljoinfrom scrapy.loader import ItemLoaderclass BoleSpider(scrapy.Spider): name...
2018-07-17 22:20:38
565
原创 分布式爬虫配置(伯乐在线为例)
依赖环境:redis >=2.8scrapy >=1.1分布式爬虫:将一个项目拷贝到多台电脑上,同时爬取数据。1.必须保证所有电脑上的代码是相同的配置。2.在其中一台电脑上启动redis和MySQL的数据库服务。3.同时将所有的爬虫项目运行起来。4.在启动redis和MySQL的电脑上, 向redis中添加起始的url。q = queue()url = q.get...
2018-07-17 22:09:02
3724
1
原创 pycharm发送邮件(QQ邮箱和网易163为例)
# 用于发送邮件的模块import smtplib# QQ邮箱/163邮箱的邮件发送:py文件发送邮件内容相当于一个第三方的客户端,借助于QQ/163邮箱服务器来发送的邮件。# QQ邮件# 1> 配置邮箱SMTP服务器的主机地址,将来使用这个服务器收发邮件。HOST = 'smtp.qq.com'# 2> 配置服务的端口,默认的邮件端口是25.PORT = '465...
2018-07-14 12:18:27
5808
原创 发送带附件的邮件(qq邮件)
# 发送带有附件的邮件。import smtplibfrom email.mime.text import MIMETextfrom email.mime.image import MIMEImagefrom email.mime.multipart import MIMEMultipart, MIMEBasefrom email import encodersHOST = "sm...
2018-07-14 10:44:59
666
原创 scrapy中间件request和response函数返回值
scrapy中间件中,处理request请求的函数,它的返回值有哪几种情况,分别有什么作用?Retuen None: 将请求交给后续的中间件进行处理;Return Request: 将请求交给调度器重新调度,并终止后续中间件的执行;Return Response: 终止后续中间件及下载器的执行,直接将Response交给引擎。Return Except: 抛出异常 scrapy中间件中,处理...
2018-07-14 10:44:38
6642
原创 为什么需要搭建虚拟环境
Python的虚拟环境是如何进入虚拟环境和查看当前虚拟环境Workon1>搭建虚拟环境主要是为了保证环境得统一性,对于不同得应用建立专属得python环境,比如针对后台开发得django可以建立一个虚拟环境,针对爬虫开发得应用可以建立一个虚拟环境,避免环境之间产生冲突。2>可以避免一个环境造成得安装包过的多,导致环境加载缓慢。...
2018-07-14 10:44:28
4953
原创 发送邮件和scrapy结合
主要代码如下:spider中建立.py文件,我命名为emailtest.py# -*- coding: utf-8 -*-import scrapy, timefrom datetime import datetimefrom ..emailsend import EmailSendclass EmailtestSpider(scrapy.Spider): name = 'em...
2018-07-14 10:36:19
1458
原创 scrapy的url去重原理
1.需要将dont_filter设置为False开启去重,默认是True,没有开启去重;2.对于每一个url的请求,调度器都会根据请求得相关信息加密得到一个指纹信息,并且将指纹信息和set()集合中的指纹信息进行比对,如果set()集合中已经存在这个数据,就不在将这个Request放入队列中。如果set()集合中没有存在这个加密后的数据,就将这个Request对象放入队列中,等待被调度。...
2018-07-13 21:34:58
6209
2
原创 ItemLoader对获取的数据提取和过滤步骤
1.在创建item_loader对象的时候,会执行item对象中input_processor和output_processor的初始化;2.在执行add_xpath、add_css、add_value函数的时候,会将提取得结果交给input_processor进行结果的处理,结果处理完以后暂时保存在item_loader中;3.等数据提取完毕,调用load_item()方法,执行output_p...
2018-07-13 21:30:15
686
原创 scrapy 架构文档
这是中文文档网址https://scrapy-chs.readthedocs.io/zh_CN/0.24/topics/architecture.html英文文档 https://doc.scrapy.org/en/latest/topics/architecture.html scrapy各部分之间的数据流向是如何交互:1>引擎将起始url构造成Reque...
2018-07-13 21:26:52
262
原创 requests模块实现cookie的自动化管理
主要逻辑:From http.cookiejar import LWPCookiejarImport requests Session = requests.Session()Session.cookies = LWPCookieJar(filename=’test.txt’)Response = session.get()/session.post()# 保存cookieSession.cook...
2018-07-13 20:26:38
1569
原创 创建一个.xls的文件到本地(Excel表,注意同scrapy中的区别)
通过代码创建一个.xls的文件到本地,并写入多条数据,比如姓名,年龄,身高,体重等import xlwtbook = xlwt.Workbook()sheet = book.add_sheet('stu')sheet.write(0, 0, '姓名')sheet.write(0, 1, '年龄')sheet.write(0, 2, '身高')sheet.write(0, 3, '体重') list...
2018-07-13 19:52:37
376
原创 scrapy 设置代理ip和cookies(微博)
pipelines.py代码from fake_useragent import UserAgentimport requestsclass UserAgentMiddlewares(object): """ 自定义一个UserAgent的下载中间件。 """ def __init__(self, user_agent_type): self...
2018-07-09 21:38:59
1628
原创 scrapy数据库异步写入
项目名为jobbole, spiders中的代码块文件名为bole.py爬取网站为伯乐在线的最新文章pipelines.py代码# 数据库pymysql的commit()和execute()在提交数据时,都是同步提交至数据库,由于scrapy框架数据的解析是异步多线程的,所以scrapy的数据解析速度,要远高于数据的写入数据库的速度。如果数据写入过慢,会造成数据库写入的阻塞,影响数据...
2018-07-09 21:30:07
1394
原创 Python虚拟环境的安装和配置(windows)
1.先在电脑上将python2.7和python3.5版本安装完成,并记清楚安装路径,统一安装在D盘2.配置系统环境变量中的path路径,添加路径的版本即为默认使用版本1.在命令行工具中输入pip install virtualenv 下载python虚拟环境4.在使用pip下载包时,经常会出现超时等情况,可以使用国内镜像提高下载速度,例如豆瓣源,下载速度还是非常快的5.使用virtualenv ...
2018-07-03 10:54:16
684
原创 pyspider框架
首先安装环境:在pycharm中Terminal(或者cmdzhong)输入命令:pip install pyspider如果提醒安装失败,则找到是哪一步失败然后在浏览器上打开:
2018-06-14 18:06:54
456
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人