mozilla

详细介绍 MPL (Mozilla Public License) 协议

徘徊边缘 提交于 2019-11-29 10:44:32
MPL是The Mozilla Public License的简写,是1998年初Netscape的 Mozilla小组为其开源软件项目设计的软件许可证。MPL许可证出现的最重要原因就是,Netscape公司认为GPL许可证没有很好地平衡开发者对 源代码的需求和他们利用源代码获得的利益。同著名的GPL许可证和BSD许可证相比,MPL在许多权利与义务的约定方面与它们相同(因为都是符合OSIA 认定的开源软件许可证)。但是,相比而言MPL还有以下几个显著的不同之处: ◆ MPL虽然要求对于经MPL许可证发布的源代码的修改也要以MPL许可证的方式再许可出来,以保证其他人可以在MPL的条款下共享源代码。但是,在MPL 许可证中对“发布”的定义是“以源代码方式发布的文件”,这就意味着MPL允许一个企业在自己已有的源代码库上加一个接口,除了接口程序的源代码以MPL 许可证的形式对外许可外,源代码库中的源代码就可以不用MPL许可证的方式强制对外许可。这些,就为借鉴别人的源代码用做自己商业软件开发的行为留了一个 豁口。 ◆ MPL许可证第三条第7款中允许被许可人将经过MPL许可证获得的源代码同自己其他类型的代码混合得到自己的软件程序。 ◆ 对软件专利的态度,MPL许可证不像GPL许可证那样明确表示反对软件专利,但是却明确要求源代码的提供者不能提供已经受专利保护的源代码(除非他本人是 专利权人

python访问量

一个人想着一个人 提交于 2019-11-29 09:37:19
import lxml.html import random import time import requests class CsdnSpider(): USER_AGENTS = [ 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36 OPR/26.0.1656.60', 'Opera/8.0 (Windows NT 5.1; U; en)', 'Mozilla/5.0 (Windows NT 5.1; U; en; rv:1.8.1) Gecko/20061208 Firefox/2.0.0 Opera 9.50', 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; en) Opera 9.50', 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:34.0) Gecko/20100101 Firefox/34.0', 'Mozilla/5.0 (X11; U; Linux x86_64; zh-CN; rv:1.9.2.10) Gecko/20100922 Ubuntu/10.10 (maverick) Firefox/3

简书全站文章爬取 scrapy + mysql异步存储

|▌冷眼眸甩不掉的悲伤 提交于 2019-11-29 06:32:12
2019年9月4日测试可用 settings.py 中必要的设置 # Obey robots.txt rules ROBOTSTXT_OBEY = False DEFAULT_REQUEST_HEADERS = { 'Accept' : 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8' , 'Accept-Language' : 'en' , 'User-Agent' : "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36" , } ITEM_PIPELINES = { 'jianshu_spider.pipelines.JianshuTwistedPipeline' : 300 , } pipelines.py 异步存储到 mysql import pymysql from twisted . enterprise import adbapi class JianshuTwistedPipeline ( object ) : def __init__ ( self ) : dbparams = { 'host' : '127.0

常见浏览器User-Agent大全

笑着哭i 提交于 2019-11-29 05:01:13
一、基础知识篇: HttpHeader之User-Agent UserAgent中文名为用户代理,是Http协议中的一部分,属于头域的组成部分,UserAgent也简称UA。它是一个特殊字符串头,是一种向访问网站提供你所使用的浏览器类型及版本、操作系统及版本、浏览器内核、等信息的标识。通过这个标识,用户所访问的网站可以显示不同的排版从而为用户提供更好的体验或者进行信息统计;例如用手机访问谷歌和电脑访问是不一样的,这些是谷歌根据访问者的UA来判断的。UA可以进行伪装。 浏览器的UA字串的标准格式:浏览器标识(操作系统标识;加密等级标识;浏览器语言)渲染引擎标识版本信息。但各个浏览器有所不同。 字串说明: 1、浏览器标识 出于兼容及推广等目的,很多浏览器的标识相同,因此浏览器标识并不能说明浏览器的真实版本,真实版本信息在UA字串尾部可以找到。 2、操作系统标识 FreeBSD X11;FreeBSD(version no.)i386 X11;FreeBSD(version no.)AMD64 Linux X11;Linux ppc X11;Linux ppc64 X11;Linux i686 X11;Linux x86_64 Mac Macintosh;PPC Mac OS X Macintosh;Intel Mac OS X Solaris X11;SunOS i86pc X11

使用docker-compose 大杀器来部署服务 上

我怕爱的太早我们不能终老 提交于 2019-11-29 00:23:13
我们都听过或者用过 docker,然而使用方式却是仅仅用手动的方式,这样去操作 docker 还是很原始。 好吧,可能在小白的眼中噼里啪啦的对着 term 一顿操作会很拉风,但是高手很不屑!在高手眼里…too young, too low. 因为高手都是自动化的,今天就稍微介绍下自动化工具,也就是大杀器 docker-compose 使用docker-compose 大杀器来部署服务 上 先从 docker 说起 docker 简介 为什么说 docker 是快速部署 好了, 我们进化到,快速1.0 时代 于是, 我们又进化了, 快速2.0时代 于是,我们再次加入光荣的进化, 快速3.0时代 docker 安装 docker 的一些概念 镜像 性能损耗 容器 hub docker 简单使用 搜索镜像 下载镜像 helloworld 我常用的 docker 命令 登录 查看容器 查找镜像 下载镜像 删除镜像 开始 看日志 停止一个容器示例 查看容器状态 格式 更快更好更强 docker-compose 简介 docker-compose 是什么 为什么要用 docker-compose,他解决了什么 那么哪里可以买到呢? 从一个小例开始 先安装吧 helloworld 服务更新 软升级 硬升级 从日志得到需要的信息 直接使用 logs 使用类似linux tail 命令 docker

jquery属性的相关js实现方法

纵饮孤独 提交于 2019-11-28 23:52:23
转载: https://www.haorooms.com/post/js_shixian_jquery 有些公司手机网站开发不用第三方的jquery或者zeptio,直接用原生的javascript。原生javascript功能是蛮强大的,只不过部分属性不支持IE8以下浏览器。下面对jquery相关方法,如何用js来实现,做一些简单总结。 元素操作 Add Class //JQUERY $(el).addClass(className); //js //谷歌浏览器,火狐浏览器,IE8+ if (el.classList) el.classList.add(className); else el.className += ' ' + className; //谷歌浏览器,火狐浏览器,IE10+ el.classList.add(className); After //JQUERY $(el).after(htmlString); //js 谷歌浏览器,火狐浏览器,IE8+ el.insertAdjacentHTML('afterend', htmlString); Append //JQUERY $(parent).append(el); //js谷歌浏览器,火狐浏览器,IE8+ parent.appendChild(el); Before //JQUERY $(el).before

Python3 使用post提交表单登陆豆瓣

£可爱£侵袭症+ 提交于 2019-11-28 19:19:01
## Python3 使用post提交表单登陆豆瓣 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 import urllib.requestimport requestsimport http.cookiejarimport zlibimport jsonimport randomimport timeimport urllibfrom lxml import etreeimport sslssl._create_default_https_context = ssl._create_unverified_context#cookie = http.cookiejar.CookieJar()#opener = urllib.request.install_opener(urllib.request.HTTPCookieProcessor(cookie))url = 'https://accounts.douban.com/login'hds = [{'User-Agent','Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US;

[科普]浏览器 UA 史

南楼画角 提交于 2019-11-28 18:50:02
本文原文来自 WebAIM 2008 年介绍浏览器 User Agent 演化史的一篇文章 ( http://webaim.org/blog/user-agent-string-history/ ),内容有各个主流浏览器 UA 串的产生原因和为什么所有浏览器都带有 Mozilla 等问题的解释。读过 Internet Explorer 11: “请不要再叫我 IE”一文评论之后发现大部分 CB 读者并不了解目前浏览器 UA 产生的原因和为什么要统一到 Netscape/Gecko,所以希望投递本文能解释清楚这些情况背后的原因。 起初东边来一浏览器叫 NCSA Mosaic,自称 NCSA_Mosaic/2.0 (Windows 3.1),渲染网页图文并茂,人民群众见了喜大普奔。 然后西边来一浏览器叫 Mozilla,就是“干死 Mosaic”的缩写。Mosaic 不高兴了,Mozilla 悻悻改名网景,但还是自称 Mozilla/1.0 (Win3.1),人民群众见有新浏览器用更加喜大普奔。网景首创网页框架,框架深得群众欢心。可惜 Mosaic 不认识框架,为了少麻烦智慧的劳动人民创造了 UA 探测:管自己叫 Mozilla 的有框架,不管自己叫 Mozilla 的一律不给发框架! 网景做大了开始戏耍微软开心,管 Windows 叫“蓝屏死机烂驱动”。微软怒从中来

IE & Firefox - custom drop down could not remove native arrows

不羁的心 提交于 2019-11-28 18:14:06
I'm trying create a custom drop down control and I need to hide the arrows from the native controls. I'm using the following CSS , which is working for Chrome and Safari, but not in Mozilla and IE. select.desktopDropDown { appearance: none; -moz-appearance:none; /* Firefox */ -webkit-appearance:none; /* Safari and Chrome */ } Here is a [jsfiddle][1]. Ahmed Na. Use this it will work but with IE10+ and for FF : Your css should look like this: select.desktopDropDown::-ms-expand { display: none; } More about ::ms-expand . Then for the rest : select.desktopDropDown { outline : none; overflow :

Play mp3 file after uploading it with html5 drag and drop upload

半世苍凉 提交于 2019-11-28 18:03:19
Is it possible to first upload an mp3 file with the html5 drag and drop upload system, and then play it with webkit's audio API (http://chromium.googlecode.com/svn/trunk/samples/audio/index.html) without submitting a form (in Google Chrome)? Is it possible to do in FF with Mozilla's audio API? If so, how? Also, are there any tutorials in existance for webkit's API? I have not been able to find any. John McKim The basic process you need to follow is Capture the files using Drag and Drop Files Posting the files in a Form Data Object Respond with the URL of the audio item you want to play Play