• 何用 KindleEar 推送无 RSS 的网站内容(中篇)

    本文详细介绍了KidleEar订阅脚本的工作原理,并使用新闻网站ChiaDaily例如,何为网站编写定制的订阅脚本,编写的订阅脚本可以将指定主题页面的文章内容转换为电子书。目录[上篇]一、KidleEar订阅方式二、KidleEar订阅脚本三、KidleEar调试环境1、安装AEgieSDK2、获取KidleEar源代码3、在本地运行KidleEar[中篇]1.创建一个新的订阅脚本二、订阅脚本的工作原理三、从网站抽取文章URL四、分析HTML标签结构1、分析文章列表HTML标签结构2、分析文章内容HTML标签结构5.测试订阅脚本的推送[下篇]1.文章列表的页面和限制项目2.修改文章内容的页面和细节三、上传到GoogleAEgie在开始以下步骤之前,请确保您在本地成功运行KidleEar程序,否则,请参考上一篇文章《何用KidleEar推送无RSS网站内容(上一篇)》构建操作KidleEar调试环境。1.创建一个新的订阅脚本首先,我们需要KidleEar添加一个新的内置订阅,即创建一个新的订阅脚本。具体步骤是:打开代码编辑器,创建一个新的空文档,输入以下代码(或复制),然后保存到KidleEar项目的ook目录。请注意,文件名的命名是随机的,但必须是英文字符,后缀名必须是.y,chiadaily.y。#!/ur/i/evytho#-*-codig:utf-8-*-fromaeimortBaeFeedBook#继承基类BaeFeedBook#返回脚本定义的类名defgetBook():returChiaDaily#继承基类BaeFeedBookclaChiaDaily(BaeFeedBook):#设置生成电子书的元数据title=u'ChiaDaily'#设定标题__author__=u'ChiaDaily'#设定作者decritio=u'Chiadaily.com.cithelargetEglihortaliChia.'#定简介设定简介laguage='e'##包含文章列表的主题页面链接#每个主题都是元组,包括主题名和主题页面链接feed=(u'Natioalaffair','htt://www.chiadaily.com.c/chia/govermetadolicy(u'Society','htt://www.chiadaily.com.c/chia/ociety]这个代码做了3的事情:导入ae.y中基类BaeFeedBook继承参数和功能函数;为最终生成的电子书设置标题、作者、介绍、语言等元数据信息;指定两个主题页面包含文章列表URL。现在我们已经为KidleEar添加了新的内置订阅。访问网页浏览器htt://localhot:8080并登录帐号,点击导航上的我的订阅进入订阅管理页面,可以在未订阅在列表中看到新添加的订阅。如上图所示,点击新订阅条目背后的内容【订阅】按钮添加到已订阅列表。下图所示,点击导航上的高级设置”并进入“现在投递页面,保持新订阅处于检查状态,点击【推送】按钮可以手动执行新添加的订阅脚本。但是目前脚本还没有实际功能,只会产生一个状态oew空日志。在点击【推送】按钮执行订阅脚本后,可以看到终端(或命令提示符)输出了以下两条信息:INFO2019-05-1213:13:37,408Worker.y:235]Noewfeed.INFO2019-05-1213:13:37,425module.y:861]worker:"GET/worker?u=admi...

    2022-04-04 基类和派生类 基类和派生类可以分别称为

  • 何用 KindleEar 推送无 RSS 的网站内容(上篇)

    之前书伴曾介绍过利用Calire抓取网站内容制成电子书的方法,可以很方便地生成既美观又实用的期刊样式电子书。Calire功能的强大毋庸置疑,不过在实际使用时却有一个明显的不便之处:当你想要定时推送某个内容源时,就必须让运行Calire的电脑一直保持开机状态。因此,很多小伙伴选择使用有着类似功能,并且能免费托管在GoogleAEgie服务器上的开源程序KidleEar来解决这个问题。KidleEar虽然支持直接订阅RSS,但可惜很多RSS供稿可用性并不高,内置的订阅又无法满足个性化的需求,在这种情况下,就有必要学会自己编写可精准获取目标网站内容的订阅脚本。这里所说的“订阅脚本”也可以理解成为KidleEar添加内置订阅,内置的订阅其实也是由一个个定制的订阅脚本组成。写这篇文章的动机是网友Joe发给书伴的一封长信,信中详细描述了自己想要解决的问题:何在没有编程基础的前提下编写KidleEar订阅脚本,并能方便地重新部署到GoogleAEgie上。所以书伴花了几天时间研究了下KidleEar订阅脚本,并将经验分享给需要的小伙伴。为了顾及没有任何编程经验的小伙伴,本文会尽可能以普通用户的视角撰写,对涉及代码的部分尽可能做到形象化的说明。目录[上篇]一、KidleEar的订阅方式二、KidleEar的订阅脚本三、KidleEar的调试环境1、安装Pytho2.72、安装GoogleCloudSDK3、获取KidleEar源代码4、在本地运行KidleEar[中篇]一、新创建一个订阅脚本二、订阅脚本的工作原理三、从网站抽取文章URL四、分析HTML标签结构1、分析文章列表的HTML标签结构2、分析文章内容的HTML标签结构五、测试订阅脚本的推送[下篇]一、文章列表的翻页和限定条目二、文章内容的翻页和细节修改三、上传到GoogleAEgie由于编写KidleEar订阅脚本牵涉到测试环境的配置,导致篇幅较长,所以本文分成了上、中、下三篇。上篇主要是订阅脚本的相关介绍和测试环境的配置步骤,中下篇则是编写订阅脚本的具体步骤。一、KidleEar的订阅方式KidleEar和Calire一样,支持通过“RSS”或“网页(HTML)”两种方式抓取目标网站上的内容。KidleEar对RSS和HTML有着不同的处理方式。当目标站点提供RSS时,它就会用通用的RSS处理模块来提取供稿内容生成电子书,也就是前面提到的“自定义RSS”。直接用RSS自然是最方便的,但现实世界的情况总比理想中的复杂,有很多种原因导致我们无法顺利获取RSS,比如有些网站根本就不提供RSS,或者提供了RSS却只有摘要信息,甚至提供的RSS存在格式上的错误无法正常读取等。RSS本质上只是一种简单的数据格式,其结构有着相对严格和固定的规范,所以只需要一个通用处理模块就可以应付几乎所有站点的RSS供稿。而HTML页面就没这么省心了,可以说不同网站的HTML标签结构存在着天壤之别,所以当目标站点不提供RSS时,就只能为其编写高度定制化的订阅脚本。说点题外话:可能很多小伙伴会疑惑,为什么很多网站都不提供RSS呢?RSS生来就是为了方便用户追踪网站更新的,从用户角度来看是相当方便——不用访问网站就能获取到网站内容更新,但是这却不可避免地影响到了内容提供者的商业利益。虽然十多年前很多人也为RSS做过一些商业化的尝试,但终以失败告终。随着2013年Google关闭GoogleReader,算是宣告了RSS大时代的终结。现在除了一些博客以及尚有情怀的网站外,大都不再提供RSS供稿了,即便提供也只是放点摘要信息,最终的目的还是把用户引导到自己的网站上。RSS并没有消亡,只是因为它给了用户太多自由而不太被商业容忍。二、KidleEar的订阅脚本在《Calire使用教程之抓取网站页面制成电子书》这篇文章中,书伴详细介绍了如何通过编写Recie脚本的方式让Calire抓取指定网站的内容,KidleEar也提供了类似的功能。不过需要注意的是,虽然KidleEar的MOBI转换模块提取自Calire,但是订阅脚本却与Calire的Recie脚本并不通用,这是因为KidleEar并没有直接移植Calire的Recie处理模块,而是将其作为参考重新写了一个处理模块,这导致包括脚本后缀名(KidleEar是.y,Calire是.recie)、相关功能的实现等很多方面都有所不同。因此,你必须遵循KidleEar提供的相关功能函数为KidleEar编写专用的订阅脚本。KidleEar内置的抓取脚都存放在其项目目录下的ook目录中,脚本的文件名均以英文命名并以.y为后缀。每个脚本都继承同目录下名为ae.y的基类,该基类已对很多种订阅方式做了定义,比如RSS、HTML页面、漫画等。我们所创建的订阅脚本就是通过继承这个基类,再根据实际情况改写、定制其中的一些参数和函数,从而实现对目标网站内容的精准抓取。KidleEar的作者在ae.y做了大量注释,如果你有一定的编程经验,完全可以根据这些注释说明来理解其中的参数和函数都是如何工作的。三、KidleEar的调试环境由于KidleEar的运行依赖于GoogleAEgie环境,无法像用Calire测试Recie脚本那样直接在本地运行,所以为了方便测试编写的KidleEar订阅脚本,我们需要在本地搭建可以为KidleEar虚拟运行环境的GoogleCloudSDK(Widow还需要安装Pytho环境和相关的Pytho库)。不要害怕任何技术性字眼,按照步骤一步步做一般不会有问题。注意不要忽略任何一段文字。1、安装Pytho2.7KidleEar是Pytho程序,所以本地调试时会依赖Pytho环境。macOS系统和Liux系统都预装了Pytho,而对于Widow系统,如果没有安装Pytho,就需要手动安装2.7版本的Pytho:Widow系统(64位):官方下载Widow系统(32位):官方下载*提示:macOS系统虽然内置了Pytho环境,但是并不推荐直接使用它,而是推荐使用Homerew安装独立的Pytho环境。Homerew是一款包管理器,支持macOS(或Liux)系统,它能安装和管理独立于原生系统环境的工具包,可有效避免对原生系统环境产生影响,对于没有包管理器的macOS系统(或Liux系统中的非root用户)来说非常方便。此外,KidleEar的运行还依赖一些第三方Pytho库,这些库需要在命令行中用i命令安装。注意,本文之后的内容经常会用到命令行,所以应记住,当文中说到输入命令时,你需要打开“终端”(Widow系统则打开“命令提示符”),把相关命令输入(或拷贝)进去,按回车执行。macOS和Liux用户可直接通过执行下面的命令安装这些第三方Pytho库:iitalllxmlillowjija2ycryto*提示:在macOS或Liux系统中,如果用的是原生系统的Pytho环境,并且是非root用户,则需要附加udo命令。Widow用户需要先下载安装微软的MicrooftViualC++ComilerforPytho2.7,因为安装第三方Pytho库的对其有依赖。安装完成后,通过以下命令安装KidleEar依赖的第三方Pytho库:C:\Pytho\Scrit\iitalllxmlillowjija2ycryto*提示:上面这条命令假设你的Pytho是默认安装在C盘的,如果指定了其它磁盘,请自行更改路径。2、安装GoogleCloudSDKGoogleCloudSDK的安装请参考《KidleEar搭建教程:推送RSS订阅到Kidle》这篇文章的第二部分“二、上传应用”中的“方法二:手动上传”中的第1、2小节提供的详细步骤。如果你是使用Homerew安装GoogleCloudSDK的,请注意,默认情况下dev_aerver.y这个命令可能不会被添加到环境变量$PATH中,所以无法直接在“终端”或“命令提示符”中运行,因此,如果你也遇到了这个问题,可执行以下命令手动将这个命令的软链接添加到可执行程序目录中。l-/ur/local/Cakroom/google-cloud-dk/latet/google-cloud-dk/i/dev_aerver.y/ur/local/i/dev_aerver.y3、获取KidleEar源代码首先需要获取一份KidleEar源代码到本地。你可以通过下面的链接下载ZIP包解压缩备用:KidleEar源代码:htt://githu.com/cdhigh/KidleEar/archive/mater.zi如果你的电脑已经安装了Git工具,也可以通过Git的Cloe命令将源代码拉取到本地:gitcloehtt://githu.com/cdhigh/KidleEar.git为了之后上传方便,建议去GitHu注册一个账户,然后把KidleEar项目Fork一份到自己的账户下,这样,在添加好编写的订阅脚本后,可以先将源代码Puh到你Fork的项目中,再按照KidleEar搭建教程中的“自动上传”方式利用GoogleAEgie的云端Shell重新部署你Fork的KidleEar项目。4、在本地运行KidleEar接下来就是让KidleEar在本机运行起来了。注意,在这里我们不使用带界面的GoogleAEgieLaucher,而只使用它附带的命令行工具。默认情况下,Widow系统可以直接在命令提示符中使用这些命令,而macOS系统需要先打开界面版的GoogleAEgieLaucher,点击软件的菜单中的“MakeSymlik…”创建命令软链接才能使用命令。Liux系统需要添加PATH变量才能使用命令。打开终端(Widow系统打开命令提示符)并定位到KidleEar的项目目录。假设项目在系统桌面上。macOS系统需要输入类似以下命令定位到KidleEar项目目录(注意替换YOURNAME):cd/Uer/YOURNAME/Dekto/KidleEarWidow系统则需要输入类似以下命令定位到KidleEar项目目录(注意替换YOURNAME):cdC:\Uer\YOURNAME\Dekto\KidleEar定位到KidleEar项目目录后,输入以下命令让KidleEar运行起来(注意有两个空格):dev_aerver.y./a.yaml./module-worker.yaml在Widow系统下,有小伙伴反馈了两个问题。一个是输入dev_aerver.y无法成功执行命令,而是被记事本打开了,这是因为你强制设定了.y文件的打开方式,需要将其打开方式恢复成ytho:随便找一个.y为后缀的文件,通过右键属性更改该文件的默认打开方式为你所安装的ytho.exe。另一个是在Widow7系统下,输入dev_aerver.y提示error:toofewargumet错误,这是由于某种原因Pytho无法读取命令后的参数导致的,这需要通过修改注册表来修复。在命令提示符中输入regedit打开注册表,依次展开HKEY_CLASSES_ROOT\Alicatio\ytho.exe\hell\oe\commad,如果发现commad的值不是"C:\Pytho27\ytho.exe""%1"%*就改成这个(通常是缺少了%*)。当你看到终端(或命令提示符)上出现如下所示的输出,就说明KidleEar已经在本机正常运行了:INFO2019-05-1113:51:41,358dk_udate_checker.y:231]CheckigforudatetotheSDK.INFO2019-05-1113:51:44,383dk_udate_checker.y:247]Udatecheckfailed:INFO2019-05-1113:51:44,613ai_erver.y:275]StartigAPIerverat:htt://localhot:49342INFO2019-05-1113:51:44,625diatcher.y:256]Startigmodule"default"ruigat:htt://localhot:8080INFO2019-05-1113:51:44,667diatcher.y:256]Startigmodule"worker"ruigat:htt://localhot:8081INFO2019-05-1113:51:44,672admi_erver.y:150]Startigadmierverat:htt://localhot:8000INFO2019-05-1113:51:46,928itace.y:294]ItacePID:37115打开浏览器(推荐用Chrome),输入htt://localhot:8080即可访问运行在本机上的KidleEar程序,输入默认的用户名和密码admi即可登入控制界面。至此,KidleEar的调试环境便准备好了。本文的下篇将会以ChiaDaily为例,由浅入深详细说明如何编写KidleEar的订阅脚本。编写好的脚本可抓取指定板块下指定数量和日期的新闻条目,并将其整合到同一本电子书中,其中还包括对内容页、分页等细节的处理。最后,把测试成功的订阅脚本上传部署到GoogleAEgie的生产环境上。▲ChiaDaily网站抓取效果为方便编写代码,建议先备好一款代码编辑器,推荐SulimeText或ViualStudioCode。如果你对KidleEar订阅脚本有什么疑问,或者发现本教程存在的谬误或不详尽之处,欢迎留言。你可继续阅读:《何用KidleEar推送无RSS的网站内容(中篇)》...

    2022-04-02 脚本 日语 脚本 rsync 失败 自动重试

  • [每天读本书]《错不在我》我们是何为自己找借口的?

    自降临人世的那一天起,我们每个人便拥有了自我辩护的冲动,我们会为自己那些具有伤害性的、不道德和愚蠢的行为推卸责任。当然,大多数人做出的决策,可能永远也不会影响到成千上万人的生死命运。无论我们所犯错误的后果,是微不足道还是悲剧性的,影响甚微还是波及全民的,大多数人都会发现:要讲出“我错了,我犯下了可怕的错误”这句话,即便不能说绝不可能,也是相当困难的。一个人在情感、金钱和道义方面所冒的风险越高,讲出这句话的难度就会越大。不仅如此,当大多数人面对错误的证据时,他们不会改变自己的观点或行为,而是会顽固地为他们辩护。我们之所以能够适应不愉快的人际关系或孤独,是因为我们已经这样生活了很长时间。我们可以长期保持麻木的工作方式,因为我们会找到各种理由为此辩护,不能清楚地评估放弃这种工作方式的好处。自我辩护不同于撒谎或辩护。显然,人们会通过撒谎或编造荒谬的故事来平息他们的爱人、父母和雇主的愤怒,避免被指控或投入监狱,保持他们的工作或权力。然而,罪犯为了让公众相信事情不是这样(我没有性侵犯那个女人和我不是骗子),与他说服自己相信我做了一件好事有很大的不同。在前一种情况下,他撒谎,清楚地知道撒谎是为了拯救自己。在后一种情况下,他在欺骗自己。这就是为什么自我辩护比明显的谎言更有力量和欺骗性,会让人们相信他们已经尽力了。自我辩护不仅会让我们的错误和糟糕的决定看起来微不足道;这也是为什么这些伪绅士的行为是众所周知的。它会区分我们与他人的道德错误,并混淆我们的行为和道德信仰之间的差异。我们每个人都会画出自己的道德底线,并为之辩护。在有意识地撒谎欺骗他人和无意识地自我辩护之间,有一个迷人的灰色地带,由记忆的不可靠和自利的历史记录者控制。记忆往往受到自我鼓励偏见的装饰和影响,使过去事件的边缘模糊,使罪恶变轻,扭曲真实的一切。当研究人员问丈夫和妻子他们分别做了多少家务时,妻子们会说:你在开玩笑吗?我几乎做了所有的家务,至少90%。丈夫们会说:事实上,我做了很多,大约40%。尽管不同的夫妇说不同的具体数字,但总数将大大超过100%。这将诱导人们推断,至少有一对夫妇在撒谎。更有可能的是,每个人都以有利的方式回忆自己。随着时间的推移,记忆会自利地扭曲,我们会忘记或扭曲过去发生的事件,然后我们可能会开始相信我们的谎言。我们知道我们错过了一些事情,但渐渐地,我们开始认为这并不都是我们自己的错误,毕竟,情况很复杂。直到最初的巨大责任变得渺小,我们才开始低估和逃避责任。自我辩护也有成本和好处,对他们自己来说,这可能不是一件坏事——它可以确保我们在晚上睡觉。没有它,我们就会继续感到难以忍受的尴尬。因为我们没有选择特定的道路,或者我们选择的道路非常糟糕,我们会感到遗憾,并遭受痛苦。我们会因为几乎所有的选择而感到非常痛苦:我们做对了吗?你选择了合适的伴侣吗?房子买得合适吗?选择的车是最好的吗?你选择了正确的职业吗?然而,无意中的自我辩护就像流沙,会把我们拖到更深的深渊。它限制了我们发现自己错误的能力,更不用说纠正错误了。它扭曲了现实,阻碍了我们获得所需的信息和清楚评估问题的能力。它会加深爱人、朋友和国家之间的裂痕;它会阻止我们放弃不健康的习惯;它会容忍罪犯的行为来逃避责任;它会导致许多专家的错误观点和做法。在生活中,没有人能不犯错误。每个人都犯过错误,但犯了错误后,一个人既可以掩盖错误,也可以承认错误。人们总是接受这样的教导:我们应该从自己的错误中学习,但如果我们不能首先承认自己犯了错误,我们怎么能从中学习呢?要做到这一点,我们必须认识到自我辩护的诱惑。下一章将讨论认知障碍,这是一种与自我辩护密切相关的心理机制,它保持了人们的自信、自尊和社会认同。在接下来的几章中,我们将详细分析一些最有害的自我辩护后果:如何加剧偏见和腐败,如何扭曲记忆,如何使专家的自信傲慢,如何产生和维持不公平,如何隐藏爱,如何造成仇恨和裂痕,等等。这本书能给读者带来的好消息是,人们可以通过了解这种机制如何发挥作用来打破这种联系。为此,在最后一章中,我们将退一步思考问题,找到个人、人际关系和社会对策。找出这种机制是找到改变和恢复策略的第一步,也是我们写这本书的原因。注:以上摘自本书介绍。————————————–原作名:MISTAKESWEREMADE(utotyme)作者:卡罗尔·塔夫里斯/艾略特·阿伦森译者:邢占军等评分:7.9当事情陷入僵局时,为什么人们只想逃避责任,甚至无意识地撒谎?为什么当公众人物有外遇和确凿的犯罪证据时,他们当场拒绝承认,但在第二天的道歉声明中,他们说:我犯了全世界男人都会犯的错误?为什么我们总是看到别人的虚伪而不回顾自己?错误不在我身上告诉我们:这是我们的自我辩护心理。当错误发生时,我们总是潜意识地把错误推给别人,或者找到一些客观原因,根本不认为这是我们自己的错。你我都有这样的心理,无论你是总统还是普通人。不假思索的自我辩护就像流沙一样,会让我们越陷越深。它阻碍我们看见自己犯错,更何况改正错误;它扭曲现实,让我们无法获得评估局势所需的信息;它使得爱人、朋友及国家间的嫌隙加深;它让我们无法摆脱坏习惯;它让罪犯不为自己的行为负责;它让许多专家无法改变过时的观念和做法,而对公众造成伤害。要想避免这样的事情发生,就要避免掉入自我辩护的陷阱。购买电子书...

    2022-04-04 律师为什么要帮罪犯辩护 为什么有律师为罪犯辩护

  • [每天读本书]《定位》何在客户心智中与众不同?

    孙子云:先胜后求战。商业就像一个战场,这就是战略的作用。事实上,无论你是否承认,今天许多商业领袖都忽视了战略和战术。这对企业来说是一个极其危险的错误。你必须在战争开始前仔细思考和确定战略,才能赢得战斗。我们的书会对这个话题很有帮助。但首先要做好准备,接受战略思维方式的颠覆性变化,因为真正有效的战略往往是不合逻辑的。以战场为例。很多企业经理认为胜负在市场上,但事实并非如此。胜负在于潜在客户的头脑,这是定位理论中最基本的概念。你如何赢得你的思想?在过去的40年里,这一直是我们唯一的话题。起初,我们提出了定位方法,通过定位概念将品牌植入我们的头脑;然后我们提出了商业战争,借助战争规则思考战略;后来,我们发现,定位往往成为一个沟通概念,除非我们关注企业和品牌的各个部分,并集中资源。今天,我们发现,创造和领导一个类别,使你的品牌成为潜在客户头脑中某一类别的代表,是赢得心理战争的关键。然而,绝大多数公司并没有这样做。以聚焦为例,大多数公司不愿意聚焦,而是想吸引每一位消费者,最终选择延伸产品线。每个公司都想成长,所以逻辑思维建议一个品牌应该扩展到其他类别,但这不是定位思维。这可能是不合逻辑的,但我们仍然建议你的品牌保持狭窄的聚焦;如果还有其他机会,推出第二个甚至第三个品牌。定位理论的几乎各个方面都与大多数公司相反,但事实上,许多公司违反了定位原则,正是这些原则为你在市场上创造了机会。模仿你的竞争对手并不能让你赢。你只能大胆地做不同的事情来赢。当然,观念的改变不是一天的工作。在美国,定位理论被企业家广泛接受了几十年。近年来,我们成立了里斯合作伙伴中国公司,将定位理论传播给中国企业家。我和女儿劳拉几乎每年都被邀请在中国发表新的定位理论演讲。我们还在《中国营销管理杂志》上开设了长期专栏,以回答企业家的问题……这些努力正在发挥作用,所以我相信,随着时间的推移,中国企业一定会创造出真正的全球领先品牌。——艾?里斯———-中国正处于一个至关重要的十字路口。廉价产品的制造使中国取得了巨大的发展,但劳动力成本、环境问题、收入不平等和创新需求的上升意味着更好的产品营销不是更便宜的产品。只有这样,中国才能赚更多的钱,在员工收入、环境保护等方面进行更大的投资。这意味着中国需要更好地掌握何在客户和潜在客户心中建立品牌和认知,以及如何应对国内外无处不在的竞争。这就是我的许多书都能发挥作用的地方。它们都是关于如何通过在许多竞争对手中实现差异化来定位自己的品牌;它们都是关于如何保持简单,如何使用常识,以及如何寻求明显和强大的概念。总的来说,无论你想卖什么,他们都会告诉你如何成为一个更好的营销人员。我的中国合作伙伴邓德隆先生正在中国运用许多理论。他甚至为企业家开设了定位培训课程。然而,如果中国想建立自己的品牌,就像你在日本、韩国和世界其他地方看到的品牌一样,你还有很长的路要走。但有一件事很清楚:继续制造更便宜的产品只会死路一条,因为其他国家会想办法降低价格。——杰克特劳特注:以上摘自本书《致中国读者》。——————-作者:杰克·特劳特(JackTrout)、阿尔·里斯(ALRie)译者:谢伟山、袁爱冬评分:8.2这本书提出了历史上对美国营销影响最大的概念——定位,改变了人类对满足需求的旧营销理解,创造了赢得竞争的营销方式。本书阐述了定位概念的产生,分析了满足需求不能赢得客户的原因,并给出了如何进入客户思维以赢得选择的定位方式。在当今日益激烈的竞争中,它揭示了现代企业管理的本质(争夺客户),阐明了企业获胜的关键(赢得精神战争),这是企业家的必读作品。...

    2022-04-05 定位理论里斯视频 定位理论里斯

  • 何为 Kindle 电子书添加嵌入多种自定义字体

    Kidle设备自5.9.6本地固件支持自定义字体,点击这里了解详情。有些小伙伴越狱它是为了更换电子书的字体,但小边认为,与系统级的字体更换相比,最好将字体嵌入电子书中,即使这会导致电子书的体积增加,视觉效果是值得的。之前Kidle伙伴曾经写过一篇文章《Calire使用教程为电子书添加更换字体》介绍用Calire将字体嵌入电子书的方法,但这种方法的一个缺点是只能嵌入一个自定义字体。你能在电子书中添加多种字体来丰富排版吗?当然,下面的文章将讨论详细的实现方法。一、嵌入多种字体效果请先看下面嵌入多种字体的电子书截图(点击图片查看大图)。这本电子书嵌入了六种字体,包括2简体字体、2繁体字体和2英文字体。当然,你也可以下载Kidle伙伴制作的嵌入多种字体测试.moi这本电子书,放在Kidle检查实际效果。当然,上述示例中的字体都是夸张的艺术字体,以便于观看效果。在实际应用中,可能是更换不同类型的宋体、明体或黑体,更适合阅读,或同一字体的不同字重,使电子书更具阅读美感。二、如何嵌入多种字体Kidle电子书的内容结构和外观风格是由HTML和CSS构成,让HTML自定义字体显示在页面上CSS3的一个特点,所以只有KidleFormat8(KF8)支持标准电子书CSS3的特点。同时,只支持KF8标准的Kidle阅读器可以看到效果。场景1.制作电子书时嵌入字体如何从零开始制作符合亚马逊KF8请参考标准电子书《遵循亚马逊标准!Kidle电子书专业制作教程》和《KF8格式电子书支持HTML标签和CSS属性》这两篇文章。下面以“嵌入多种字体测试.moi以这本电子书为例,分析嵌入多种自定义字体的相关代码。本电子书的源文件结构如下所示(下载源文件嵌入多种字体测试.zi”):├────嵌入多种字体测试.of├────fot├────fot1.ttf├────fot2.ttc├────fot3.ttf├────fot4.ttf├────fot5.ttf├────fot6.ttf├────image├────tyle.c├────cotet.html制作时,先在源文件目录中新建fot文件夹,准备好使用的字体(格式可以是otf、ttf、ttc等)重命名(建议使用英文名)。上述结构所示,我添加了六个字体。编辑风格表tyle.c文件,在样式表中定义这些字体:/*定义字体1*/@fot-face{fot-family:'fot1-defie'rc:url(fot/fot1.ttf)}/*定义字体2*/@fot-face{fot-family:"fot2-defie"rc:url(fot/fot2.ttc)}/*定义字体3*/@fot-face{fot-family:"fot3-defie"rc:url(fot/fot3.ttf)}/*定义字体4*/@fot-face{fot-family:"fot4-defie"rc:url(fot/fot4.ttf)}/*定义字体5*/@fot-face{fot-family:"fot5-defie"rc:url(fot/fot5.ttf)}/*定义字体6*/@fot-face{fot-family:"fot6-defie"rc:url(fot/fot6.ttf)}上述代码所示。@fot-face{...}代表定义了两个必填参数的字体:fot-family:'fot1'表示字体的引用名称为fot1这个名字可以随意填写,建议用英语;rc:url(fot/fot1.ttf)是指定字体的相对路径,这里引用fot文件夹fot1.ttf”。在CSS文件中定义字体后,可以查看HTML文件中需要更改字体的元素有哪些:...

    2022-04-04 电子书 天道 电子书 TXT下载

  • 外出旅行时何用安卓手机推送电子书到 Kindle

    秋天来了,接下来的几个月会有很多假期。想必很多朋友都会有旅游或者旅游计划,在路上会有很多时间用Kidle阅读——一个灵魂和身体都在路上的好机会。虽然你可能会提前准备好你想读的电子书,但如果你想读一本没有准备好的书,周围没有电脑怎么办?如果你有这个需求,看看Kidle合作伙伴提供这个小解决方案。出门的时候除了带上心爱的Kidle,手机是必不可少的。如果你有一个支持热点Adroid手机和足够的流量,上容易解决上述情况。让我了解一下具体的操作细节。首先,需要确认以下事项的完整性支持热点Adroid手机;足够的网络流量(建议3G或4G);已添加到Kidle推送信任邮箱列表的邮箱[注1];二、方便在手机上获取电子书资源目前,获取电子书的方法有两种:亚马逊Kidle商店购买电子书,另一种是在从网络上搜索下载电子书。对于前者,可以用手机浏览器访问网页版亚马逊Kidle商店用来购买电子书(当然也可以在开放热点与分享)Kidle然后在Kidle直接在上面买[注2])。对于后者,由于手机浏览器浏览网页的特点,最方便的下载方式可能是使用百度网络磁盘和其他网络磁盘共享资源,他们的下载页面更适合手机浏览器,速度非常快(节省时间就是节省电力)。三、打开热点为Kidle共享网络这是本方案的关键因素。因为是在中国购买的Kidle阅读器支持WiFi不支持3G,所以你可以使用手机的热功能来让Kidle通过手机设备连接到互联网,以获得推送。当然,如果你想去Kidle购买电子书[注2],跳过以下步骤。打开热点的方法很简单。虽然不同的Adroid手机可能有不同的设置方法,但可以肯定的是,它们都在网络设置项中。这里是Nexu6例如,依次单击设置-...

    2022-04-04 电子书kindle哪款好 电子书kindle怎么下载免费书

学习考试资源网-58edu © All Rights Reserved.  湘ICP备12013312号-3 
站点地图| 免责说明| 合作请联系| 友情链接:学习乐园