未来的写作长啥样?LEX 用 GPT-3 AI 给你点儿颜色看看

我是在 Jarod 的知识星球里看到他推荐 LEX 这款在线编辑器。他问有没有人要邀请链接。我于是立即要来了一个。

实话实说,最近「玩具」有点儿多。

笔记软件,有 Tana ;浏览器,有 Arc;Readwise 新出的一站式阅读器 Reader ,也很不错。

原本,对这个新的在线编辑器,我是打算先留着,有空再仔细尝试。

但是,一进入 LEX 的界面,读了官方的介绍,我立刻就不淡定了。

其实,哪里只是我一个人不淡定啊?

Building the Second Brain 作者 Tiago Forte 说,自己已经看到要失业的迹象了。

因为,一篇文章里,他自己只写了 5 个词儿。剩下全是 AI 顺着往下编。

至于 Ali Abdaal 更是过分,他干脆搞了个「恶作剧」当成测试。好在事后,他向大家公开坦诚自己的行为。

这个几乎完全用 LEX 写就的帖子,数据表现是这样的:

当然,Ali 是名人,浏览量是有名人效应的。只不过,人工智能的作品几乎骗过了所有人的眼睛,还收获了这么多的点赞和转发,这就厉害了。

咱们别把眼睛只盯在这些大咖身上了。下面说说我自己的实际测试结果吧。红框里面的文字,是我写的:

然后后面的段落,全都是 Lex 自动补全的。

更厉害的是,根据这些内容,Lex 自动生成了若干标题,我只是从中选了一个而已。

原本 GPT-2 时代,人工智能自动补全已经大显神通了。GPT-3 的应用,就意味着写出来的东西更真假难辨了。

(图片来源:t.ly/DMxe)

原本你要用 GPT-3 ,还有一些障碍。例如说你需要获得 API 的使用权限,而且还得对每一次的调用付费。

而 LEX,至少在目前,是免费的。况且,它还是个在线编辑器。你啥都不用安装,直接打开,然后就能调用 GPT-3 帮你写东西了。

我当时就在想,这以后英语写作课的作业可怎么判呢?

好在老外开发这东西只懂得英语。中文写作,还是得靠学生们自己努力哦。语文老师们,好消息,你们暂时不用担心。

转念一想,不对。如果先中文写一段话,人工智能工具 DeepL 翻译成英文,然后进行补全和题目选定,之后再翻译回来…… 那依然可以做到两三分钟 800 字作文儿啊!

好在,DeepL 的使用依然有门槛。上述使用方式较为复杂,暂时影响不到太多学生,所以…… 还好吧?

很快我发现,自己又想多了。谁说 GPT-3 只认得英文?!这玩意儿写起中文来,也是流畅得很。

只有红框里的字,是我写的。不难看出,GPT-3 不但认得中文,而且写得还挺像样子。虽然里面出现了一些偏差,例如把「不是英国人」作为了「中文写作困难」的理据,但即便这样,也足够「以假乱真」了。

为了避免你觉得这张图片是我人工码字之后摆拍的,我干脆 把整个儿测试过程录像,给你看看好了。

为了避免教坏小朋友,咱们必须说明,这款工具可不是给你作文儿当枪手用的。作文训练,还是需要你自己亲历亲为,切不可偷懒耍滑「找捷径」哦。

那么,LEX 究竟有啥正经用处呢?

其实,它真正尝试解决的,是一个被称作 “Writer’s block” 的问题。写作过程中,你可能突然会「卡壳」,即所谓「文思枯竭」,「绞尽脑汁」也不好使,愣是一个字儿都「憋」不出来。

这时候,人工智能替你尝试往下写一段,未必能让你100%满意,但是却可以给你一些有用的提示,或许能让你迅速从困境中解脱出来。有的时候,只要捅破了这层窗户纸,后面的写作过程就会流畅许多,你会快速回到宝贵的「心流」状态。

LEX 另外尝试解决的,是标题拟定问题。很多人写作,内容非常扎实,干货十足。但是因为题目选不好,吸引不到足够的注意力,就会造成「酒香也怕巷子深」,最终导致优秀的内容被埋没。

因此,LEX 根据你的全文内容,尝试帮你拟定一个好的题目,就显得弥足珍贵了。

我是在 Arc 浏览器里面使用 LEX 。到目前为止,体验都是非常流畅。在移动端,LEX 还没有 App 。但是保存到 Home Screen 后,也是可以随时打开,往里面写东西。

我很喜欢这种流畅随意的写作感觉。特别是随时都有人工智能辅助,于是信心十足,哈哈。

目前 LEX 还是采用邀请制。我剩下的链接不多,分享一个在这里。

https://lex.page/invites/RJNDXIGU

每一个新用户,都会获得 5 个链接。你拿到链接后,最好能分享 2 个以上到咱们的留言区,这样可以帮助更多的小伙伴尽快用上这款工具。

当然,也欢迎你把使用的感受在留言区分享。我们共同成长进步。

延伸阅读

  • AI 帮我找卡片挺好,但能不能帮我创作出新的相关卡片啊?
  • 世界很大,英语不好的你如何去看看?
  • 想打造个性化高效工作流,可不会编程怎么办?
  • 自己录制和剪辑视频,如何解决占用空间过大的问题?
  • 如何更高效用 Roam?免费分享 Roam Untangled 作者 Jamie Miles 的几个小技巧
本文转载于网络 如有侵权请联系删除

相关文章

  • Centos和Ubutun系统内核升级操作

    在日常运维中有时候会出现内核版本过低,导致一系列的问题,比如k8s使用3.10会出现cgroup内存泄漏,或者有的软件依赖内核版本,最近我在安装Pixie就需要内核版本大于4.14+,因此就专门总结了centos和ubuntu操作系统的内核升级操作步骤1centos7升级内核1.1检查已安装的内核版本让我们安装了一个发行版,它包含了一个特定版本的内核。为了展示当前系统中已安装的版本,我们可以:#uname-sr Linux3.10.0-862.el7.x86_64 复制如果我们现在进入https://www.kernel.org/,在撰写本文时,我们看到最新的内核版本是5.12(其他版本可以从同一网站获得)。还要考虑的一个重要的事情是内核版本的生命周期-如果你当前使用的版本接近它的生命周期结束,那么在该日期后将不会提供更多的bug修复。关于更多信息,请参阅内核发布页。1.2升级内核大多数现代发行版提供了一种使用yum等包管理系统和官方支持的仓库升级内核的方法。但是,这只会升级内核到仓库中可用的最新版本-而不是在https://www.kernel.org/中可用的最新版本。不幸的是,R

  • FPGA系统性学习笔记连载_Day10 【流水灯实验】

    FPGA系统性学习笔记连载_Day10【流水灯实验】之【intelQ、XilinxS-6、ZYNQ7020三个平台的实现及验证】本系列为FPGA系统性学习学员学习笔记整理分享,如有学习或者购买开发板意向,可加交流群联系群主。连载《叁芯智能fpga设计与研发-第10天》【流水灯实验】之【intelCycloneIV、XilinxSpartan-6、XilinxZYNQ7020三个平台的实现及验证】原创作者:紫枫术河转载请联系群主授权,否则追究责任本实验要求设计用4个led实现流水灯的效果,要求每隔一秒切换一个led灯,间隔时间为1秒,同一时间只能有一个led点亮一、模块设计我分为2个模块counter.vled_water.v及仿真led_water_tb.v二、代码设计counter.vmodulecounter( inputclk, inputrst_n, outputregflag ); reg[25:0]count; parameterT=26'd49_000_000; always@(posedgeclk,negedgerst_n)begin if(!rst_n

  • select * 与 select id 字段 条件相同 数据结果不同(二)

    承接上一篇文章 继续分析reasonselect* expalin一下 selectid expalin一下 都是全表扫描 都是使用where 都是文件排序(如果待排序的内容不能由所使用的索引直接完成排序的话)filesort是通过相应的排序算法将取得的数据在内存中进行排序,所使用的内存区域也就是通过sort_buffer_size系统变量所设置的排序区。这个排序区是每个Thread独享的,可能同一时刻在MySQL中存在多个sortbuffer内存区域。MySQL中filesort的实现算法有两种:1.双路排序:首先根据相应的条件取出相应的排序字段和可以直接定位行数据的行指针信息,然后在sortbuffer中进行排序。2.单路排序:是一次性取出满足条件行的所有字段,然后在sortbuffer中进行排序。MySQL主要通过比较所设定的系统参数max_length_for_sort_data的大小和Query语句所取出的字段类型大小总和来判定需要使用哪一种排序算法。如果max_length_for_sort_data更大,则使用第二种优化后的算法(因为第一种还要取行指针信息),反之使用第一

  • 知识转化:拓展技术报告 (CS DB)

    我们介绍Kensho,这是一个在两个知识库(KBs)之间产生映射规则的工具。为了创建映射规则,Kensho从一组对应关系开始,并用从知识库的结构和约束条件中自动识别的附加语义信息来丰富它们。我们的方法分两个阶段进行。在第一阶段,捕获每个KB的资源之间的语义关联。在第二阶段,通过以尊重每个KB的元素之间已发现的语义关联的方式解释对应关系,生成映射规则。Kensho的映射规则使用SPARQL查询来表达,可以直接用于从资源到目标的知识交换。Kensho能够使用一组探索法对生成的映射规则进行自动排序。我们介绍了对Kensho的实验评估,并使用50多个综合和真实的环境来评估我们的映射生成和排名策略,这些情境被选为展示知识转化的一些最重要的应用。此外,我们还使用三个现有的基准来证明Kensho处理不同映射场景的能力。原文题目:KnowledgeTranslation:ExtendedTechnicalReport原文:WeintroduceKensho,atoolforgeneratingmappingrulesbetweentwoKnowledgeBases(KBs).Tocreatethema

  • 我对一道常考面试题的详细分析

    移动零题目给定一个数组nums,编写一个函数将所有0移动到数组的末尾,同时保持非零元素的相对顺序。示例:输入:[0,1,0,3,12]输出:[1,3,12,0,0]说明:必须在原数组上操作,不能拷贝额外的数组。尽量减少操作次数分析必须在原数组上操作,不能拷贝额外的数组;同时尽量减少操作次数,说白了就是想叫我们写出更好的算法。如何分析?观察输入:[0,1,0,3,12]输出:[1,3,12,0,0]整个过程就是0元素不断后移,非零元素不断前移的过程,所以算法每步操作的目标便是:逐渐达成这个分布规律。怎样优化操作?假设两个指针slow和fast分别指向连续零区间的第一个0,最后一个0的后一个位置,如下图所示:那么,fast-slow正是索引从0~fast区间范围内0元素的个数。fast指向下一个元素:若打问号元素为0,根据每步操作的目标是非零元素前移,零元素后移。所以迭代到此处时它已经为0元素,所以至少肯定不用前移,那么就保持原地不动。若打问号的元素取值非0,根据每步操作的目标是非零元素前移,零元素后移。因为slow~fast这块都为0,所以为了目标,非零元素要和第一个0交换,这样不就实现

  • 从源码上理解Netty并发工具-Promise

    前提最近一直在看Netty相关的内容,也在编写一个轻量级的RPC框架来练手,途中发现了Netty的源码有很多亮点,某些实现甚至可以用苛刻来形容。另外,Netty提供的工具类也是相当优秀,可以开箱即用。这里分析一下个人比较喜欢的领域,并发方面的一个Netty工具模块-Promise。环境版本:Netty:4.1.44.FinalJDK1.8Promise简介Promise,中文翻译为承诺或者许诺,含义是人与人之间,一个人对另一个人所说的具有一定憧憬的话,一般是可以实现的。 io.netty.util.concurrent.Promise在注释中只有一句话:特殊的可写的io.netty.util.concurrent.Future(Promise接口是io.netty.util.concurrent.Future的子接口)。而io.netty.util.concurrent.Future是java.util.concurrent.Future的扩展,表示一个异步操作的结果。我们知道,JDK并发包中的Future是不可写,也没有提供可监听的入口(没有应用观察者模式),而Promise很好地弥

  • 前端学习(40)~js学习(十七):数组的常见方法&数组的遍历

    前言数组的四个基本方法如下:(数组元素的添加和删除)方法描述备注push()向数组的最后面插入一个或多个元素,返回结果为该数组新的长度会改变原数组pop()删除数组中的最后一个元素,返回结果为被删除的元素会改变原数组unshift()在数组最前面插入一个或多个元素,返回结果为该数组新的长度会改变原数组shift()删除数组中的第一个元素,返回结果为被删除的元素会改变原数组数组的常见方法如下:方法描述备注slice()从数组中提取指定的一个或多个元素,返回结果为新的数组不会改变原数组splice()从数组中删除指定的一个或多个元素,返回结果为新的数组会改变原数组concat()连接两个或多个数组,返回结果为新的数组不会改变原数组join()将数组转换为字符串,返回结果为转换后的字符串不会改变原数组reverse()反转数组,返回结果为反转后的数组会改变原数组sort()对数组的元素,默认按照Unicode编码,从小到大进行排序会改变原数组遍历数组的方法如下:方法描述备注for循环这个大家都懂forEach()和for循环类似,但需要兼容IE8以上forEach()没有返回值。也就是说,它

  • 策略模式、代理模式、建造者模式、模板方法模式及其Go语言实现

    1、策略模式(1)什么是策略模式? 策略模式是指对象的某个行为在不同的场景中,拥有不同的实现策略。 策略模式属于行为型模式,策略模式的本质其实就是面向对象中多态的思想。 (2)生活场景实例 小明的班级决定为期中考试成绩优异的同学颁发奖品。奖品一共有钢笔、篮球、本子、手表四种,每位同学可以自己选择想要哪一种类型的奖品。 不使用策略模式(即不使用多态):packagemain typeStudentinterface{ selectThePen(*pen) selectTheBasketball(*basketball) selectTheNotebook(*notebook) selectTheWatch(*watch) } typestudentstruct{ namestring } func(s*student)selectThePen(p*pen){ fmt.Println(s.name,"选择了奖品:",p.Name()) } func(s*student)selectTheBasketball(b*basketball){ fmt.Pri

  • OpenVINO运行Tensorflow模型

    请先阅读我的上一篇文章《VisualStudio2017配置OpenVINO开发环境》,在VS2017中配置好OpenVINO环境。1模型转换1.1安装模型转换工具打开conda控制台,创建虚拟环境vino:condacreate-nvinopython=3.6复制创建完成后,执行activatevino。然后安装OpenVINO模型转换工具,具体命令如下:>activatevino >cdE:\OpenVINO\openvino_2019.3.334\deployment_tools\model_optimizer >pipinstall-rrequirements_tf.txt复制1.2模型转换以MobileNet为例,前往https://github.com/tensorflow/models/blob/master/research/slim/nets/mobilenet_v1.md下载MobileNet_v1_1.0_224模型,解压到目录E:\model后,对mobilenet_v1_1.0_224_frozen.pb执行如下命令完成模型转换:python

  • 数据库版本管理工具Flyway应用 转

    Flyway介绍Flyway是一款开源的数据库版本管理工具,它更倾向于规约优于配置的方式。Flyway可以独立于应用实现管理并跟踪数据库变更,支持数据库版本自动升级,并且有一套默认的规约,不需要复杂的配置,Migrations可以写成SQL脚本,也可以写在Java代码中,不仅支持CommandLine和JavaAPI,还支持Build构建工具和SpringBoot等,同时在分布式环境下能够安全可靠地升级数据库,同时也支持失败恢复等。Flyway用途通常在项目开始时会针对数据库进行全局设计,但在开发产品新特性过程中,难免会遇到需要更新数据库Schema的情况,比如:添加新表,添加新字段和约束等,这种情况在实际项目中也经常发生。那么,当开发人员完成了对数据库更的SQL脚本后,如何快速地在其他开发者机器上同步?并且如何在测试服务器上快速同步?以及如何保证集成测试能够顺利执行并通过呢?到各测试服务器上手动执行SQL脚本费时费神费力的,干嘛不自动化呢,当然,对于高级别和PROD环境,还是需要DBA手动执行的。最后,写一段自动化程序来自动执行更新,想法是很好的,那如果已经有了一些插件或库可以帮助你

  • Flask学习笔记-在Bootstrap框架下Web表单WTF的使用 顶

    表单的处理一般都比较繁琐和枯燥,如果想简单的使用表单就可以使用Flask-WTF插件,同时我们把WTF融合到Bootstrap中这样样式的问题都自动解决了,本篇文章就为您讲解这些内容。先要注意一点,在使用WTF的时候我们要在程序中设定一下SECRET_KEY,不然会出现"Mustprovidesecret_keytousecsrf"错误。app.config['SECRET_KEY'] = 'xxxx'复制Flask-Bootstrap在前面的文章中已经讲过了,不再重复。后台WTF编码先看实例:from flask.ext.wtf import Form from wtforms import StringField, SubmitField, SelectField from wtforms.validators import DataRequired class BookForm(Form):     name = StringField('姓名', validators=[DataRequired(

  • 彻底掌握解释性语言&编译性语言,动态&静态语言

    编译型和解释型的区别先来看看编译型语言定义:编译型语言首先是将源代码编译生成机器指令,再由机器运行机器码(二进制)。再来看看解释型语言的定义:解释型语言的源代码不是直接翻译成机器指令,而是先翻译成中间代码,再由解释器对中间代码进行解释运行。咋看一眼,还是一脸懵逼。下面打个比方:编译型相当于用中英文词典(翻译器)将一本英文书一次性翻译(编译)成一本中文书。以后查看直接就是中文了。可想而知,以后读书(运行)会非常非常方便。而解释型相当于用中英文词典(翻译器)将一本英文书读一段翻译一段(解释)中文。以后查看时还是需要重新翻译。这样效率会低一些,必须依赖解释器,但是跨平台性好。扩展编译型和解释型的定义是对立存在的,但也可以在一个语言中同时存在。比如java语言同时兼有编译型和解释型特点。整个流程如下:将源代码(.java文件)编译生成字节码(.class文件),再通过JVM(java虚拟机)运行生成机器指令,由机器运行机器码。注意,此处生成机器语言前的操作是解释型,每次运行都要重新解释。因此,此处表明java是解释型。 但是,部分JVM(java虚拟机)有一种JIT(Justintime)机制

  • 拔掉机器人的一条腿,它还能学走路?| 三次元里优化的DRL策略

    行走栗发自凹非寺 量子位出品|公众号QbitAI迪士尼的机器人,不管剩几条腿(n>0),都能学会走路。那么,是怎么学的?研究团队不用模拟器,直接在硬件上修炼深度强化学习(DRL)的策略。真实世界,或许比模拟器要单调一些。不过,有物理支持的经验,可能更加珍贵。除了有清新脱俗的训练环境,这只机器人,也并不是一只机器人而已。想要几条腿,问过机器人吗?机器人的腿是模块化的,就是说,你想给它装上一条、两条、三条腿,都可以。嫌腿太多,拔掉一些也可以。反正只要有腿,机器人还可以重新学走路。另外,机器人的腿还分三种,运动方式各不相同——在分别介绍之前,先给各位一些方向感。A腿,Roll-Pitch,横轴加纵轴。B腿,Yaw-Pitch,竖轴加纵轴。C腿,Roll-Yaw-Pitch,横轴加竖轴加纵轴。于是,C腿比另外两条腿粗壮一些,似乎也可以理解了。如果按最多能装六条腿来算,一共可以拼出多少种不同的机器人?这样一来,即便不是模拟器,也算多姿多彩了。两种DRL同步走由于,不知道机器人什么时候,就会多条胳膊少条腿,迪士尼团队准备了两种深度强化学习算法。一是TRPO(信赖域策略优化)算法,沿用既定策

  • 一个三本学生的面试之旅

    前言首先先自我介绍一下,我是一个来自三本院校的学生,大学的专业是计算机科学与技术,也就是你们口里面经常调侃的"三本狗"和"码农"。今年大四,我也面临着找实习单位的难题。仔细数一数,我也面试了6家,但只收到了一家offer。说实话,自己很沮丧的,没想到自己可以这么差劲。 我为什么会去写一篇文章呢?其实挺简单的,反思自己,不要抱怨。今天在android学习群里面,看着大家在讨论关于外包公司的问题,我也阐明了一些自己的观点。诸如外包公司很垃圾,疯狂加班,学不到什么东西,技术太落后了。可是说着说着,负能量越来越多,刹不住车了。这时候刘师傅(也就是群主)就说了一句:"反思自己,不要抱怨"。看到这条消息,我感觉很羞愧,我什么时候成了一个喜欢抱怨的人?不错,"抱怨"的确是我身上致命的缺点,我发现自己在面试中也存在诸如此类的问题。所以我会用接下来的篇幅叙说我的面试之旅,也许会给同处于此阶段的兄弟们有所帮助和指引。 憨人.jpg简述面试的6家XX外包公司红星美凯龙技术部武汉艾派智能科技有限公司东鹏特饮技术部浙报集团(战旗TV

  • 对象存储服务-构架设计

    对象存储服务构架设计基本构架组成1.网关服务(Gateway):客户端发送请求(Request)到网关服务(Gateway)再由网关服务实现将客户端请求转换为相应的数据(Data)、元数据(Metadata),消息对列(MQ)的操作。一般来讲网关服务主要承担以下几个角色的功能: 协议转换:实现前端客户端协议(HTTP/RPC)等向后端模块(TCP/RPC/MQ)之间的协议转换。 请求分发:负责将前端请求按不同请求类型(数据操作。元数据操作、异步队列操作)分发到不同后端模块上。 协同与调度:部分前端请求可能会同时涉及到与多个后端模块之间的交互,因此网关服务还需要统一这些请求,并实现多个模块之间的协同与调度。 负载均衡:实现客户端请求的负载均衡,提升整体系统的并发吞吐性能。 高速缓存:实现热数据的高速缓存,提高客户端请求的命中率,同时降低底层模块的访问压力。当出现底层模块不可用时,仍然能够提供部分数据来支撑客户端的请求访问,提供类似降级服务,从而在一定程度上提高整体服务的可用性。 正是鉴于上面讲到的几个功能特性,如果把整个对象存储比作一辆超级大卡车,网关服务相当于“方向盘,变速箱,仪表盘”

  • mysql报错1396_mysql连接不上数据库

    大家好,又见面了,我是你们的朋友全栈君。我似乎无法重新创建一个已删除的简单用户,即使以root用户身份在MySQL中也是如此。我的情况是:用户’jack’曾经存在,但是我从mysql.user中删除了它以重新创建它。我在那张桌子上看不到任何痕迹。如果我对其他随机用户名(例如“jimmy”)执行此命令,则该命令会正常工作(就像最初对“jack”所做的一样)。我已经做了些什么来破坏用户“jack”,以及如何撤销该破坏,以便重新创建“jack”作为此安装的MySQL的有效用户?请参见下面的示例。(当然,最初,在创建“jack”和将其删除之间有很多时间。)mysql>CREATEUSER‘jack’@’localhost’IDENTIFIEDBY‘test123’;QueryOK,0rowsaffected(0.00sec)mysql>selectuser,hostfromuser;+——————+—————–+|user|host|+——————+—————–+|root|127.0.0.1||debian-sys-maint|localhost||jack|localhost|

  • Golang 内存分配

    一般的内存分配 一般而言,内存都会被程序分为以下几个逻辑块 全局区:存放全局变量 栈区:存放函数中的基础类类型变量 堆区:动态分配的内存,比如go的切片 常量区:存放常量数据 程序代码区:存放程序本身的代码 go内存分配思想 go内置了运行时的编程语言(runtime),所谓运行时,就是在程序开始时就申请了一大块的虚拟内存,由go自己进行分配和管理.用来避免在运行的时候再向操作系统申请内存,带来性能问题. go的内存分配核心思想是: 每次从操作系统申请一大块内存,由go来对内存进行分配和管理,减少系统调用 内存分配算法采用google的TCMalloc算法,把内存切分的很细,再通过多级进行管理,降低锁粒度 回收对象内存时,并不是真正的将内存返回给操作系统,而是放回自己的大块内存中等待复用,只有闲置过多时才会尝试返回部分内存给操作系统. go的内存结构 go的内存结构分为三大块: spans(512MB):存放span指针,每个指针指向arena的一个page bitmap(16GB):保存arena对应的某个地址是否存在对象,和对象是否GC信息 arena(512GB):真正

  • IServiceBehavior, IOperationBehavior,IParameterInspector

    1publicclassMyOperationBehavior:Attribute,IOperationBehavior 2{ 3publicvoidAddBindingParameters(OperationDescriptionoperationDescription, 4System.ServiceModel.Channels.BindingParameterCollectionbindingParameters) 5{ 6Logger.Log("MyOperationBehavior", 7"AddBindingParameters",operationDescription.Name); 8} 9 10publicvoidApplyClientBehavior(OperationDescriptionoperationDescription, 11System.ServiceModel.Dispatcher.ClientOperationclientOperation) 12{ 13clientOperation.ParameterInspectors.Add(newMyPa

  • 多线程Beatiful Soup爬取斗鱼所有在线主播的信息

      最近看了个爬虫的教程,想着自己也常在斗鱼看直播,不如就拿它来练练手。于是就写了个爬取斗鱼所有在线主播的信息,分别为类别、主播ID、房间标题、人气值、房间地址。   需要用到的工具python3下的bs4,requests,pymongo。我用的IDE是pycharm,感觉这个软件实在太强大,有点离开它什么都不会的感觉,数据库Mongodb,结合pycharm工具可以直接在右侧显示数据。 #-*-coding:utf-8-*- frombs4importBeautifulSoup importrequests,time,datetime importjson importpymongo classdouyu_host_info(): def__init__(self): self.date_time=datetime.datetime.now().strftime('%Y-%m-%d_%H-%M') self.host_url='https://www.douyu.com' self.list_data=[] self.urls_list=[] self.headers={ 'U

  • 整型变量/常量

     整型用于表示没有小数部分的数值,它允许是负数。整型的范围与运行Java代码的机器无关,这正是Java程序具有很强移植能力的原因之一。与此相反,C和C++程序需要针对不同的处理器选择最有效的整型。 表2-4整型数据类型 类型 占用存储空间 表数范围 byte 1字节 -27 ~ 27-1(-128~127) short 2字节 -215 ~ 215-1(-32768~32767) int 4字节 -231 ~ 231-1(-2147483648~2147483647)约21亿 long 8字节 -263 ~ 263-1    Java语言整型常量的四种表示形式 十进制整数,如:99,-500,0 八进制整数,要求以0开头,如:015 十六进制数,要求0x或0X开头,如:0x15 二进制数,要求0b或0B开头,如:0b01110011   Java语言的整型常数默认为int型

  • Linux CentOS7中 设置IP地址、网关DNS

    LinuxCentOS7中设置IP地址、网关DNS 1.直接设置ip和dns cd/etc/sysconfig/network-scripts/#进入网络配置文件目录 viifcfg-eno16777736#编辑配置文件,此处eno后边的编号因电脑而易 TYPE="Ethernet" BOOTPROTO="static"#启用静态IP地址 DEFROUTE="yes" IPV4_FAILURE_FATAL="no" IPV6INIT="yes" IPV6_AUTOCONF="yes" IPV6_DEFROUTE="yes" IPV6_FAILURE_FATAL="no" NAME="eno16777736" UUID="8071cc7b-d407-4dea-a41e-16f7d2e75ee9" ONBOOT="yes"#开启自动启用网络连接 IPADDR="192.168.1.128"#设置IP地址,最好设置个大的 PREFIX="24"#设置子网掩码 GATEWAY="192.168.1.1"#设置网关(默认都是这个) DNS1="8.8.8.8"#设置主DNS DNS2="8.8

相关推荐

推荐阅读