
python
文章平均质量分 78
L瑜
这个作者很懒,什么都没留下…
展开
-
使用python抓取js动态加载的网页
我们在做网页抓取的时候,一般来说使用urllib和urllib2就能满足大部分需求。但是有时候我们遇见那种使用js动态加载的网页。就会发现urllib只能抓出一个部分内容空白的网页。解决办法是使用selenium+phantomjs进行抓取。。。审查元素之后,。发现百度图片中,显示图片的div为:pullimages这个div里面的内容是动态加载的。而使用urllib&urllib2原创 2015-10-19 11:49:11 · 21655 阅读 · 0 评论 -
更改pip源至国内镜像,显著提升下载速度
经常在使用python的时候需要安装各种模块,而pip是很强大的模块安装工具,但是由于国外官方pypi经常被墙,导致不可用,所以我们最好是将自己使用的pip源更换一下,这样就能解决被墙导致的装不上库的烦恼。网上有很多可用的源,例如豆瓣:http://pypi.douban.com/simple/ 清华原创 2016-09-02 11:00:15 · 369248 阅读 · 35 评论 -
python中多进程+协程的使用以及为什么要用它
前面讲了为什么python里推荐用多进程而不是多线程,但是多进程也有其自己的限制:相比线程更加笨重、切换耗时更长,并且在python的多进程下,进程数量不推荐超过CPU核心数(一个进程只有一个GIL,所以一个进程只能跑满一个CPU),因为一个进程占用一个CPU时能充分利用机器的性能,但是进程多了就会出现频繁的进程切换,反而得不偿失。不过特殊情况(特指IO密集型任务)下,多线程是比多进程好用原创 2016-04-15 16:25:03 · 28170 阅读 · 11 评论 -
python通过thrift连接hive,异步执行查询
在开始之前,我们需要具备一些基础知识:什么是hive? hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供完整的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。hive对外暴露出来的用法,基本上和Mysql相同,但是它能做到Mysql做不到的对大数据处理,例如几十亿条数据,放在Mysql中,必然不堪重负,但在hive中,举重若轻原创 2017-08-20 17:04:56 · 5189 阅读 · 1 评论 -
谈谈python的GIL、多线程、多进程
最近在看Python的多线程,然而不仅要知其然,更要知其所以然。所以有了下面的深入研究:首先强调背景:1、GIL是什么?GIL的全称是Global Interpreter Lock(全局解释器锁),来源是python设计之初的考虑,为了数据安全所做的决定。2、每个CPU在同一时间只能执行一个线程(在单核CPU下的多线程其实都只是并发,不是并行,并发和并行从宏观上来讲都是同时处理多路请求原创 2016-01-29 11:10:37 · 3900 阅读 · 0 评论