自从10号又是5天没更, 是, 我再一次断更... 原因是朋友在搞python, 老问我问题, 我python也是很久没碰了, 于是为了解决他的问题, 我只能重新开始研究python, 为了快速找回感觉, 我先是看了<简明python教程>, 出于兴趣考虑又开始看一本叫做<Web Scraping with Python>, 结果一发不可收拾, 直接把我的csapp扔在了一边, 真是太 ** 有意思了... 其中有几个很重要的库, 为了实行我的爬虫学习大计, 我准备先看Beauti…
上一节说到tag, 这里接着讲, tag有个属性叫做string, tag.string其实就是我们要掌握的四个对象中的第二个 ---- NavigableString,  它代表的是该tag内的text(甚至包括空白字符, 该tag内如果有别的tag, 必须前后紧挨不带空格, 否则返回None, 这一点的原因在下面提到了.), 其实这个NavigableString就是对于普通的Unicode的字符串的封装, 除了他提供一些对方便html结构树进行搜索的方法, 同时我们可以用.replace_…
上一节说到.string的条件很苛刻, 如果某个tag里面包含了超过一个children, 就会返回None, 但是这里提供另外一种方式 .strings, 它返回的是一个generator, 比如对于 : <body>aa bb <b> aabbccdd </b> </body> 我们调用 for each in soup.body.strings: print(repr(each)) 结果如下 : 'aa\nbb\n ' ' aabbccdd ' '\n…
prettify()能返回一个格式良好的html的Unicode字符串 : markup = '<a href="http://example.com/">I linked to <i>example.com</i></a>' soup = BeautifulSoup(markup) soup.prettify() # '<html>\n <head>\n </head>\n <body>\…
之前介绍了有关的四个对象以及他们的属性, 但是一般情况下要在杂乱的html中提取我们所需的tag(tag中包含的信息)是比较复杂的, 现在我们可以来看看到底有些什么搜索的方法. 最主要的两个方法当然是find_all()和find(), 两者大致思路相同, 只不过一个前者返回符合条件的所有tags, 后者只返回一个tag. 我们先仔细看看find_all. Signature: find_all(name, attrs, recursive, string, limit, **kwargs) f…
修改html树无非是对其中标签的改动, 改动标签的名字(也就是类型), 属性和标签里的内容... 先讲这边提供了很方便的方法来对其进行改动... soup = BeautifulSoup('<b class="boldest">Extremely bold</b>') tag = soup.b tag.name = "blockquote" tag['class'] = 'verybold' tag['id'] = 1 tag # <b…
除了find()和find_all(), 这里还提供了许多类似的方法我就细讲了, 参数和用法都差不多, 最后四个是next, previous是以.next/previous_element()来说的... Signature: find_parents(name, attrs, string, limit, **kwargs) Signature: find_parent(name, attrs, string, **kwargs) Signature: find_next_siblings(…
原来一直以为vue@cli3 就是创建模板的工具,读了官方文档才知道原来这么有用,不少配置让我长见识了 Prefetch 懒加载配置 懒加载相信大家都是知道的,使用Import() 语法就可以在需要的时候加载了,但是读了官方文档Prefetch一节后,发现事情并没有想象的那么简单. 文档写的很清楚,Prefetch是在空闲的时候就加载一些不着急的文件,并且import默认是加上了Prefetch的,也就是说你使用了import可能并不是你想要的结果(比如用户点击某个按钮才触发加载,不然永远不加载…
Beautiful Soup 中文文档 原文 by Leonard Richardson (leonardr@segfault.org) 翻译 by Richie Yan (richieyan@gmail.com) ###如果有些翻译的不准确或者难以理解,直接看例子吧.### 英文原文点这里 Beautiful Soup 是用Python写的一个HTML/XML的解析器,它可以很好的处理不规范标记并生成剖析树(parse tree). 它提供简单又常用的导航(navigating),搜索以及修改…
$(document).ready() 通常你想在DOM结构加载完毕之后才执行相关脚本.使用原生JavaScript,你可能调用window.onload = function() { ... }, 但是这个办法的你只能够调用一次,而且需要等DOM结构完全加载完毕,包括图片样式等静态文件所有夹在完毕才会开始执行onload函数里面的代码. jQuery中提供了一种更好的办法: $(document).ready(function() { console.log('ready!'); }); 与o…
数据方法 有时候你可能想要在元素上面储存数据.由于浏览器兼容性问题,用原生JavaScript处理元素上的数据可能会造成内存溢出,jQuery可以帮你自动处理这些问题: //储存和取出元素数据 $('#myDiv').data('keyName', {foo: 'bar'}); $('#myDiv').data('keyName'); //returns {foo: 'bar'} 你可以在元素上面储存任何数据.你甚至可以用Data方法把两个元素连接起来. 比如说,你想要把li和li包含的div连…
样式 使用jQuery,无论是设置或者获取元素样式都十分简便. // 支持驼峰式和分割线式,两种方式等价(原生JavaScript只支持驼峰式) $('h1').css('fontSize'); $('h1').css('font-size'); //设置样式 $('h1').css('fontSize', '100px'); //设置多个样式 $('h1').css({ fontSize: '100px', color: 'red' }); 其实设置多个元素时,给.css()传入的参数是一个对…
遍历 jQuery的快捷遍历方法可以快速定位到想要的元素.查找祖先元素 html<div class="grandparent"> <div class="parent"> <div class="child"> <span class="subchild"></span> </div> </div> <div class="s…
jQuery对象 当用$符号包裹一个CSS风格选择器的时候,你得到一个jQuery对象. var heading = $('h1'); jQuery对象是对DOM ELement封装过后的数组.注意,无论选择器匹配了多个或者零个元素,jQuery对象都不再是false.意味着你只能够用jQuery对象的.length属性来判断选择器是否选中了元素. if ($('h1')) { //do something } 如果我想要得到页面中第一个匹配的元素呢? var headings = $('h1'…
前提:已读了这本书<<深入浅出dpdk(朱清河等著)>>. 目标:读官方文档,同时跟着文档进行安装编译等工作. http://dpdk.org/doc/guides/index.html 环境:thinkpadT450 + archlinux + kvm + CentOS 7(逐层自下而上的关系) KVM参数: sudo qemu-system-x86_64 -nographic -enable-kvm -numa node -numa node -drive file=disk.…
参考: https://www.jianshu.com/p/0d234e14b5d3 1.Connecting 我们通过 create_engine() 来链接数据库,假设我们我们采用SQLite. from sqlalchemy import create_engine engine = create_engine('sqlite:///app.db',echo=True) [文档片段]: create_engine() 的返回值是 Engine 的一个实例,Engine是database的核…
看这个之前我准备先看一下random模块的官方文档... 在整个随机模块中,  最基础的就是random, 它产生一个 [0.0, 1.0)的浮点数. 这个模块下所有的函数实际上是绑定在一个叫做random.Ramdom的类的隐藏实例下的, 当然你可以自己实例化这个类从而得到新的随机数生成器, 同时random模块下还有一个叫做SystemRandom的类, 它使用系统函数 os.urandom()用操作系统提供的随机资源来来产生随机数.(不知所云...) 只挑了一部分看起来有用的函数... r…
我们在前一篇文章微软新神器-Power BI,一个简单易用,还用得起的BI产品中,我们初步介绍了Power BI的基本知识.由于Power BI是去年开始微软新发布的一个产品,虽然已经可以企业级应用,但还在不断更新中,功能也在不断加强中,目前世面上的电子书和教程也几乎没有,所以本博客将持续提供相关咨询,以及原始整理的官方文档资料,以及会不断翻译以及制作中文版的学习资料,个人也在摸索之中,有不足,还请大家指正. 本文原文地址:一起学微软Power BI系列-官方文档-入门指南(1)Power BI…
官方文档地址:http://spark.apache.org/docs/latest/streaming-programming-guide.html Spark Streaming是spark api的扩展 能实现可扩展,高吞吐,可容错,的流式处理 从外接数据源接受数据流,处理数据流使用的是复杂的高度抽象的算法函数map reduce join window等 输出的数据可以存储到文件系统和数据库甚至是直接展示在命令行 也可以应用ml 和graph processing在这些数据流上 spar…
android的多线程在开发中已经有使用过了,想再系统地学习一下,找到了android的官方文档,介绍进程与线程的介绍,试着翻译一下. 原文地址:http://developer.android.com/guide/components/processes-and-threads.html 首先翻译一下GOOGLE的官方文档, Processes and ThreadsWhen an application component starts and the application does no…
OpenGL ES着色器语言之变量和数据类型(一)(官方文档第四章)   所有变量和函数在使用前必须声明.变量和函数名是标识符. 没有默认类型,所有变量和函数声明必须包含一个声明类型以及可选的修饰符.变量在声明的时候首先要标明类型,后边可以跟多个变量,之间用逗号隔开.很多情况下,变量在声明的时候可以使用等号“=”进行初始化. 用户定义类型可以使用struct,在结构体中所有变量类型都必须是OpenGL ES着色器语言定义的关键字.OpenGL ES着色语言是类型安全的,因此不支持隐式类型转换.…
正如在上一篇文章中写道:"据我所知,现在RocketMQ还没有中文文档.我打算自己试着在github上开一个项目,自行翻译."我这几天抽空翻译了文档的前3个小节,发现翻译真的不是一件容易的事情,即便只是翻译这种语言复杂程度较低的技术文档. 翻译文档有很多好处,首先一点就是可以提升阅读英文文档的水平.现在很多开源项目都是国外的,即便是国内的开源项目,为了国际化影响也是先出英文文档,眼前的例子就是RocketMQ.然后,就是翻译文档分享出来,能够帮助一些英文水平还有待提高的开发者朋友们,让…
写在前面 cassandra3.x官方文档的非官方翻译.翻译内容水平全依赖本人英文水平和对cassandra的理解.所以强烈建议阅读英文版cassandra 3.x 官方文档.此文档一半是翻译,一半是个人对cassandra的认知.尽量将我的理解通过引用的方式标注,以示区别.另外文档翻译是项长期并有挑战的工作,如果你愿意加入cassandra git book,可以发信给我.当然你也可以加入我们的QQ群,104822562.一起学习探讨cassandra. 数据存储引擎 Cassandra使用类…
写在前面 cassandra3.x官方文档的非官方翻译.翻译内容水平全依赖本人英文水平和对cassandra的理解.所以强烈建议阅读英文版cassandra 3.x 官方文档.此文档一半是翻译,一半是个人对cassandra的认知.尽量将我的理解通过引用的方式标注,以示区别.另外文档翻译是项长期并有挑战的工作,如果你愿意加入cassandra git book,可以发信给我.当然你也可以加入我们的QQ群,104822562.一起学习探讨cassandra. 摘要 探测器决定了数据中心和机架节点的…
写在前面 cassandra3.x官方文档的非官方翻译.翻译内容水平全依赖本人英文水平和对cassandra的理解.所以强烈建议阅读英文版cassandra 3.x 官方文档.此文档一半是翻译,一半是个人对cassandra的认知.尽量将我的理解通过引用的方式标注,以示区别.另外文档翻译是项长期并有挑战的工作,如果你愿意加入cassandra git book,可以发信给我.当然你也可以加入我们的QQ群,104822562.一起学习探讨cassandra. 一个分区器决定了数据将会在集群中的节点…
写在前面 cassandra3.x官方文档的非官方翻译.翻译内容水平全依赖本人英文水平和对cassandra的理解.所以强烈建议阅读英文版cassandra 3.x 官方文档.此文档一半是翻译,一半是个人对cassandra的认知.尽量将我的理解通过引用的方式标注,以示区别.另外文档翻译是项长期并有挑战的工作,如果你愿意加入cassandra git book,可以发信给我.当然你也可以加入我们的QQ群,104822562.一起学习探讨cassandra. 架构简介 cassandra是为跨多个…
写在前面 cassandra3.x官方文档的非官方翻译.翻译内容水平全依赖本人英文水平和对cassandra的理解.所以强烈建议阅读英文版cassandra 3.x 官方文档.此文档一半是翻译,一半是个人对cassandra的认知.尽量将我的理解通过引用的方式标注,以示区别.另外文档翻译是项长期并有挑战的工作,如果你愿意加入cassandra git book,可以发信给我.当然你也可以加入我们的QQ群,104822562.一起学习探讨cassandra. 如何写 Cassandra写的时候分好…
欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由蔡述雄发表于云+社区专栏 蔡述雄,现腾讯用户体验设计部QQ空间高级UI工程师.智图图片优化系统首席工程师,曾参与<众妙之门>书籍的翻译工作.目前专注前端图片优化与新技术的探研. 2016年,乃至接下来整个2017年,如果你要问前端技术框架什么最火,那无疑就是前端三巨头:React.Angular.Vue.没错,什么jQuery,seaJs,gulp等都逐渐脱离了热点.面试的时候不吹上一点新技术,好像自己就不是搞前端的似的.当然,…
Sqoop 是 Cloudera 公司创造的一个数据同步工具,现在已经完全开源了. 目前已经是 hadoop 生态环境中数据迁移的首选,另外还有 ali 开发的 DataX 属于同类型工具,由于社区的广泛使用和文档的健全,调研之后决定使用 Sqoop 来做我们之后数据同步的工具. 我们首先来看下 Sqoop 的工作流 他将我们传统的关系型数据库 | 文件型数据库 | 企业数据仓库 同步到我们的 hadoop 生态集群中. 同时也可以将 hadoop 生态集群中的数据导回到传统的关系型数据库 |…
1.入门指南 1.1简介 Apache的Kafka™是一个分布式流平台(a distributed streaming platform).这到底意味着什么? 我们认为,一个流处理平台应该具有三个关键能力: 它可以让你发布和订阅记录流.在这方面,它类似于一个消息队列或企业消息系统. 它可以让你持久化收到的记录流,从而具有容错能力. 它可以让你处理收到的记录流. Kafka擅长哪些方面? 它被用于两大类应用: 建立实时流数据管道从而能够可靠地在系统或应用程序之间的共享数据 构建实时流应用程序,能够…