python
文章平均质量分 56
liazylee
这个作者很懒,什么都没留下…
展开
-
面试之python基础(一)
基础1. 实例方法(instance method),类方法(class method)与静态方法(static method)区别实例方法是类实例后的带self参数的普通方法。类方法和静态方法都是通过函数装饰器的方式实现的;类方法需要传入cls参数,静态方法无需传入self参数或者是cls参数(但不等同于不能传入参数) 调用实例方法时,self指向实例对象。类方法是以cls 为参数的方法,使用装饰器classmethod,调用类方法,类方法可以通过类对象或者实例对象调用。如果是通过实例对象调用的,原创 2022-04-25 12:57:30 · 626 阅读 · 0 评论 -
django2.2 + 使用celery,rabbitmq-server 异步操作
前期准备新django版本建议直接使用celery。安装celery安装rabbitmq安装celery在终端直接输入pip install celery可直接安装安装rabbitmqsudo yum instal rabbitmq-server使用dockerdocker run -d -p 5462:5462 rabbitmqcelery使用中间件推荐reids跟rabbitmq,官方推荐rabbitmq,但是使用redis比较方便。新建django项目项目目录原创 2020-06-16 17:01:32 · 193 阅读 · 0 评论 -
scarpy 中间件
下载中间件是处于引擎(crawler.engine)和下载器(crawler.engine.download())之间的一层组件,可以有多个下载中间件被加载运行。1. 当引擎传递请求给下载器的过程中,下载中间件可以对请求进行处理 (例如增加http header信息,增加proxy信息等);2. 在下载器完成http请求,传递响应给引擎的过程中, 下载中间件可以对响应进行处理(例如进行gzi...转载 2018-12-10 16:38:27 · 106 阅读 · 0 评论 -
scarpy-redis介绍
Scarpy-redis 分布式策略:假设有四台电脑:windows10、mac os x、ubuntu 16.04、centos7,任意一台电脑作为master端或slaver端,比如:* master端使用centos7,作为一个核心服务器,搭建一个redis数据库,不负责爬取,只负责url指纹判重、request的分布,以及数据的存储* slaver端爬虫程序执行端,使用mac 、...转载 2018-12-10 16:38:13 · 85 阅读 · 0 评论 -
scrapy-redis 理解
官方站点scrapy-redis的官方文档写的比较简洁,没有提及其运行原理,所以如果想全面的理解分布式爬虫的运行原理,还是得看scrapy-redis的源代码才行。scrapy-redis工程的主体还是是redis和scrapy两个库,工程本身实现的东西不是很多,这个工程就像胶水一样,把这两个插件粘结了起来。下面我们来看看,scrapy-redis的每一个源代码文件都实现了什么功能,最后如何实...转载 2018-12-10 16:38:00 · 154 阅读 · 0 评论 -
Item Loaders 介绍
Item LoadersItem Loader提供了一个方便的机制, 用于填充爬取的Items,即使可以使用自己的类似于字典的API来填充项目,Item Loaders可以通过自动化一些常见任务(如解析原始提取的数据)进行分配,从而为爬取过程提供更方便的API。换句话说,Items提供了数据的容器,而Item Loaders提供了填充该容器的机制项目装载器旨在提供一种灵活,高效和简单的机制,...转载 2018-12-10 16:37:34 · 123 阅读 · 0 评论 -
python 全局锁
python的全局锁问题问题你已经听说过全局解释器锁GIL,担心它会影响到多线程程序的执行性能。解决方案尽管Python完全支持多线程编程, 但是解释器的C语言实现部分在完全并行执行时并不是线程安全的。 实际上,解释器被一个全局解释器锁保护着,它确保任何时候都只有一个Python线程执行。 GIL最大的问题就是Python的多线程程序并不能利用多核CPU的优势 (比如一个使用了多个线程的计...转载 2018-12-10 16:45:50 · 164 阅读 · 0 评论 -
drf-jwt-wechat django jwt 小程序登录后台
drf-jwt-wechat 小程序,drf,jwt,一个对三者进行封装登录的包小程序登录逻辑jwtdrf源代码示例drf-jwt-wechatUsage小程序,drf,jwt,一个对三者进行封装登录的包项目进行时,创建的一个包。小程序登录逻辑小程序登录需要前端调用wechat-login,产生code,传给后台,后台再用code,appip,appsecret 调用微信接口获取用户数据,...原创 2019-05-31 16:02:24 · 1149 阅读 · 0 评论 -
python的元编程之添加装饰器
在函数上添加装饰器你想使用额外的代码包装一个函数,可以定义一个装饰器函数。import timefrom functools import wrapsimport loggingdef timethis_and_log(func): """ Decorator that reports the execution time""" @wraps(func)...翻译 2019-06-03 16:27:47 · 99 阅读 · 0 评论 -
python之匿名函数
lambda让我们可以创建一个匿名函数,可取代def形式,lambda的用法如下lambda [arg1 [,arg2, ... argN]] : expressionlambda 函数直接调用(lambda x,y:x-y)(3,4)>>>-1(lambda x:2*x )(8)>>>16匿名函数本质时一个函数对象,将其赋值给另一个变量,再由...转载 2019-06-04 14:31:20 · 81 阅读 · 0 评论 -
scrapy 爬取视频
直接上github爬取非ts类型的视频原创 2019-06-27 14:45:56 · 270 阅读 · 0 评论 -
scarpy 反爬虫相关机制
反反爬虫相关机制Some websites implement certain measures to prevent bots from crawling them, with varying degrees of sophistication. Getting around those measures can be difficult and tricky, and may sometim...转载 2018-12-10 16:38:43 · 158 阅读 · 0 评论 -
scrapy Settings 配置
SettingsScrapy设置(settings)提供了定制Scrapy组件的方法。可以控制包括核心(core),插件(extension),pipeline及spider组件。比如 设置Json Pipeliine、LOG_LEVEL等。参考文档内置设置参考手册* BOT_NAME * 默认: 'scrapybot' * 当您使用 startproject ...转载 2018-12-10 16:38:57 · 90 阅读 · 0 评论 -
scrapy日志
Scrapy 生成的调试信息非常有用,但是通常太罗嗦。你可以在 Scrapy 项目中的 setting.py 文件中设置日志显示层级:LOG_LEVEL = ‘ERROR’Scrapy 日志有五种层级,按照范围递增顺序排列如下:• CRITICAL• ERROR• WARNING• DEBUG• INFO如果日志层级设置为 ERROR ,那么只有 CRITICAL 和 ERROR...转载 2018-12-10 16:41:23 · 102 阅读 · 0 评论 -
django 实现登录登出的功能
django登录,django是一个python下的大型框架,之所以大,是因为很多东西都可以延用。试了一下继承django自带的user类实现登录。原创 2017-11-16 18:02:52 · 643 阅读 · 0 评论 -
django 中post_save的用法小尝试
post_savepost_save 在django中是属于一种模型之间的信号机制,对某个模型进行操作的时候通知其他模型 代码 如下:class Profile(models.Model) user = models.OneToOneField(User, on_delete=models.CASCADE) name = models.CharField(verbose_name原创 2017-12-27 18:29:50 · 1203 阅读 · 0 评论 -
djang +vue 搭建一体化前后端分离项目
一、项目实现的功能项目实现数据的收录以及统计,pdf的生成。以及新闻的展示。二、项目搭建1. 所需环境项目采用语言为python3.6,Django==2.0.5,djangorestframework==3.8.2。所用第三方包如下cairocffi==0.8.1CairoSVG==2.1.3certifi==2018.4.16cffi==1.11.5chardet=...翻译 2018-08-15 16:34:56 · 224 阅读 · 0 评论 -
django rest framework api构建
Introductionswhat is django rest frameworkAn example for basedata1. settings2. model3. serializers4. use viewset prefer view5. routerIntroductionswhat is django rest framework...原创 2018-08-16 12:00:35 · 163 阅读 · 0 评论 -
scrapy 简单 文档
scrapy介绍Scrapy是用纯Python实现一个为了爬取网站数据、提取结构性数据而编写的应用框架,用途非常广泛。框架的力量,用户只需要定制开发几个模块就可以轻松的实现一个爬虫,用来抓取网页内容以及各种图片,非常之方便。Scrapy 使用了 Twisted’twɪstɪd异步网络框架来处理网络通讯,可以加快我们的下载速度,不用自己去实现异步框架,并且包含了各种中间件接口,可以灵活的完成各...翻译 2018-11-26 10:46:10 · 158 阅读 · 0 评论 -
scrapy 淘宝 爬虫
技术框架采用scrapy 以及 scrapy-redis,以redis为调度,分布式爬取淘宝。防止被禁的技巧本例中采用每次请求换user-agent,以及禁用cooikes,30秒换一个ip(非常规ip代理)此技术自行搜索,settings.py# Disable cookies (enabled by default)COOKIES_ENABLED = FalseDOWNLOADE...原创 2018-11-26 11:53:38 · 309 阅读 · 2 评论 -
爬虫介绍
通用爬虫和聚焦爬虫根据使用场景,网络爬虫可分为 通用爬虫 和 聚焦爬虫 两种.通用爬虫通用网络爬虫 是 捜索引擎抓取系统(Baidu、Google、Yahoo等)的重要组成部分。主要目的是将互联网上的网页下载到本地,形成一个互联网内容的镜像备份。通用搜索引擎(Search Engine)工作原理通用网络爬虫 从互联网中搜集网页,采集信息,这些网页信息用于为搜索引擎建立索引从而提供支持,它...转载 2018-12-10 16:40:45 · 118 阅读 · 0 评论 -
为什么要用python做爬虫
可以做爬虫的语言很多, 如php, java, c/c++, python等等…php 虽然是世界上最好的语言,但是他天生不是干这个的,而且对多线程, 异步高并发的支持并不是很好,爬虫是工具性程序,对速度和效率要求比较高java 的爬虫生态圈也很完善,是python爬虫最大的对手。但java重构成本比较高,任何修改都会导致代码大量变动,爬虫经常需要修改部分代码,而python只需要修改...转载 2018-12-10 16:40:27 · 416 阅读 · 0 评论 -
手机抓包爬虫
通过Fiddler进行手机抓包通过Fiddler抓包工具,可以抓取手机的网络通信,但前提是手机跟电脑处于同一局域网内(wifi或热点),然后进行以下设置:用Fiddler对Android应用进行抓包打开Fiddler设置在Connections里设置允许连接到远程计算机,然后确认后重新启动Fiddler在命令提示符下输入ipconfig查看本机ip打开Android设备的"设置"...转载 2018-12-10 16:40:13 · 151 阅读 · 0 评论 -
Xpath用法
什么是xpath?Xpath (XML Path Language)是一门在XML文档中查选信心的语言,可用在XML文档中对元素和属性进行遍历。xpath W3School官方文档XPath 开发工具开源的XPath表达式编辑工具:XMLQuire(XML格式文件可用)Chrome插件 XPath HelperFirefox插件 XPath Checker选取节点Xpath 使用...转载 2018-12-10 16:41:02 · 141 阅读 · 0 评论 -
scarpy特性
一目了然Scarpy是用于抓取网站并提取结构化数据的应用程序框架,可用于广泛的有用应用程序,如数据挖掘,信息处理或历史存档尽管 Scarpy最初设计是用于网页抓取,但它可以用于API如(Amazon Associates Web Service)或通用网页抓取工具提取数据很好知道的事情Scarpy是用纯python编写的,并且取决于几个关键的python包:* lxml ,一个高效的XM...转载 2018-12-10 16:39:47 · 102 阅读 · 0 评论