Linux gzip压缩输出,linuxgzip压缩输出

看了过多敌人圈里推荐的Python爬虫小说,都以为太小气,管理内容自然正是PHP的猛烈,Python独一的低价估摸也就自然的Linux自带,和Perl相仿,这一点感到挺非常不足意思的Linux,依然Mac愚直,天生就自带了Python、Perl、PHP、Ruby,当然小编也很讨厌斟酌一门语言的好坏,每门语言存在就确定有它的道理,反正PHP是国内外最佳用的言语,大家都懂的^_^

Linux gzip压缩输出,linuxgzip压缩输出

一、gzip介绍

         gzip是GNU
zip的缩写,它是二个GNU自由软件的文本收缩程序,也常常用来代表gzip这种文件格式。软件的撰稿者是Jean-loup
Gailly和Mark阿德勒。一九九四年四月10日首先次公开宣布,版本号是0.1,近期的安宁版本是1.2.4。

       
Gzip首要用以Unix系统的文书收缩。大家在Linux中时常会用到后缀为.gz的文本,它们正是GZIP格式的。现明儿早晨已改成Internet
上选取十一分家常便饭的一种多少压缩格式,只怕说一种文件格式。
当应用Gzip压缩到贰个纯文本文件时,效果是丰裕显眼的,经过GZIP压缩后页面大小能够改为原本的二成以致越来越小,这取决文件中的内容。

  HTTP商讨上的GZIP编码是一种用来校订WEB应用程序质量的本领。web开荒中能够通过gzip压缩页面来收缩网址的流量,而gzip并不会对cpu变成大气的挤占,略略上涨,也是多少个百分点而已,可是对于页面却能减弱百分之三十三之上,极其划算。

     
利用Apache中的Gzip模块,我们得以采用Gzip压缩算法来对Apache服务器公布的网页内容实行压缩后再传输到顾客端浏览器。那样经过压缩后实在降低了互连网传输的字节数(节约传输的互连网I/o),最明显的平价正是能够加速网页加载的速度。

     
网页加载速度加速的功利简单来讲,除了节约流量,纠正客商的浏览体验外,另叁个神秘的好处是Gzip与搜索引擎的抓取工具有着更加好的关联。比方Google就能够透过直接读取gzip文件来比平时手工业抓取更加快地查找网页。在谷歌(Google卡塔尔网址管理职员和工人具(谷歌Webmaster Tools)中你能够看看,sitemap.xml.gz
是一贯作为Sitemap被交给的。

     
而这一个好处并不只限于静态内容,PHP动态页面和任何动态变化的开始和结果均可以透过选用Apache压缩模块压缩,加上别的的性质调治机制和相应的服务器端缓存准绳,那足以大大升高网站的性格。由此,对于布置在Linux服务器上的PHP程序,在服务器扶助的景观下,大家提议您敞开使用Gzip
Web压缩。

PHP, Python, Node.js 哪个比较相符写爬虫?

 

1.对页面的剖判技术
2.对数据库的操作能力(mysql)
3.爬取效能
4.代码量
推荐介绍语言时证实所需类库也许框架,多谢。
比如:python+MySQLdb+urllib2+re
ps:其实自身不太心仪用python(恐怕是在windows平台的来头,需求种种转字符编码,并且三十二线程貌似很鸡肋。卡塔尔

2 条评论

 

按投票排序
准时间排序

前日异常的红的是壹人用C#写了多个八线程爬虫程序,抓取了QQ空间3000万QQ客商,此中有300万客商是有QQ号、外号、空间名称等新闻的,也正是说,有详细情形也就300万,跑了两周,那没怎么,为了注明PHP是全球最佳的言语,尽管大家都懂的^_^,小编用PHP写了贰个多进程爬虫程序,只用了一天时间,就抓了搜狐100万客商,方今跑到第8圈(depth=8卡塔尔(قطر‎相互有关联(关切了和关怀者)的顾客。

二、Web服务器管理HTTP压缩的经过如下:

    1.
Web服务器收到到浏览器的HTTP乞请后,检查浏览器是或不是扶植HTTP压缩(Accept-Encoding
音讯);

    2. 一旦浏览器扶助HTTP压缩,Web服务器检查央求文件的后缀名;

    3.
就算央浼文件是HTML、CSS等静态文件,Web服务器到压缩缓冲目录中检查是或不是曾经存在要求文件的新颖压缩文件;

    4.
假设央浼文件的压缩文件不设有,Web服务器向浏览器重临未压缩的乞请文件,并在回退缓冲目录中贮存须要文件的压缩文件;

    5.
只要哀告文件的新颖压缩文件已经存在,则直接再次回到乞求文件的压缩文件;

    6.
假如央浼文件是动态文件,Web服务器动态压缩内容并赶回浏览器,压缩内容不寄放到压缩缓存目录中。

下边是七个示范图:

                                       未使用Gzip:**

 

                                      奥门新浦京官方网站 1

                                  开启使用Gzip后:

                                 奥门新浦京官方网站 2

 

 

35 个回答

 

 

奥门新浦京官方网站 3
梁川,第三方支付、互连网经济从业者

微博顾客、星辕翼玛、YUX IO 等人赞同

心口如一看您定义的“爬虫”干什么用。

1、即使是定向爬取多少个页面,做一些大约的页面深入解析,爬取效用不是中央须求,那么用哪些语言差距超小。
金科玉律就算页面布局复杂,正则表明式写得巨复杂,尤其是用过那二个支持xpath的类库/爬虫库后,就能够发觉此种格局尽管入门门槛低,但扩张性、可维护性等都奇差。因而此种景况下照旧引入应用部分现有的爬虫库,诸如xpath、四线程援助依旧必需思谋的要素。

2、借使是定向爬取,且首要对象是剖析js动态变化的内容
当时候,页面内容是有js/ajax动态变化的,用平时的倡议页面->拆解剖判的章程就不管用了,须要凭仗五个像样firefox、chrome浏览器的js引擎来对页面包车型地铁js代码做动态深入分析。
此种情形下,推荐考虑casperJS+phantomjs或slimerJS+phantomjs
,当然诸如selenium之类的也能够思忖。

3、假设爬虫是涉嫌不乏先例网站爬取,效能、扩大性、可维护性等是必得思虑的成分时候
广泛爬虫爬取关乎超级多标题:八十多线程并发、I/O机制、遍布式爬取、新闻报导、判重型机器制、职责调治等等,那时候候语言和所用框架的抉择就有着巨概况义了。
PHP对八线程、异步支持比较糟糕,不提出选择。
NodeJS:对部分笔直网址爬取倒能够,但出于遍及式爬取、音信报导等支撑较弱,根据自个儿景况推断。
Python:刚毅提出,对以上难题都有较好扶持。特别是Scrapy框架值得作为第一增选。优点大多:援助xpath;基于twisted,品质不错;有较好的调节和测量试验工具;
此种情形下,如若还索要做js动态内容的分析,casperjs就不符合了,独有依据诸如chrome
V8引擎之类自个儿做js引擎。
至于C、C++尽管质量不错,但不推荐,特别是思谋到资本等繁多要素;对于大多数商场依旧提出依据一些开源的框架来做,不要本人发明轮子,做四个粗略的爬虫轻松,但要做三个完善的爬虫挺难的。

像本身搭建的Wechat公众号内容聚合的网址http://lewuxian.com正是依据Scrapy做的,当然还波及音讯队列等。能够参照下图:

奥门新浦京官方网站 4
具体内容能够参谋
几个任务调解分发服务的结构

发布于
2014-06-02 4
条评论
感谢

收藏 •
尚无扶助 • •
我保留权利

 

 

 

奥门新浦京官方网站 5
Saviio,ES6大法好

星辕翼玛、天涯论坛客户、网易客户 等人倾向

稍稍谈谈自己的应用体会,PHP不会,用过Python和Node.js。

粗略的定向爬取:
Python + urlib2 + RegExp + bs4
或者
Node.js + co,任一一款dom框架或然html parser + Request + RegExp
撸起来也是很顺手。
对自个儿的话上面五个筛选差不离是等价的,但要害自个儿JS比较熟,以后选拔Node平台会多一些。

上规模的整站爬取:
Python + Scrapy
如 果说地点多少个方案里DIY 的
spider是华为加步枪,那Scrapy大概正是重工加农炮,好利用不行,自定义爬取法规,http错误管理,XPath,RPC,Pipeline机
制等等等。并且,由于Scrapy是依附Twisted完成的,所以还要两全有十分好的频率,相对来讲独一的毛病正是安装相比较费劲,注重也正如多,小编还算
是相比新的osx,相像不能够直接pip install scrapy

其它若是在spider中引入xpath的话,再在chrome上安装xpath的插件,那么拆解深入分析路线不知其详,开垦作用奇高。

编辑于
2015-01-06
累积评价
感谢

收藏 •
未曾协助 •


笔者保留义务

 

 

奥门新浦京官方网站 6
苏莉安,Node初学者

李者璈、网易顾客、葛军航
等人赞同

PHP和js天生不是干那些的;python有比较完善的框架,但小编没用过不太明白;然而nodejs倒是能够拿来切磋,因为看知乎的数目便是用node抓的。

估值和笔者相通在Windows开荒、安顿到linux服务器的人不菲。nodejs在此儿就有个很优良的优点:安顿方便、跨平台大约无障碍,相比较之下python……大致令人脱层皮。
剖判页面用的是cheerio,全包容jQuery语法,熟练前端的话用起来直率之极,再也不用折腾烦人的正则了;
操作数据库直接用mysql那几个module就能够,该有的功力全有;

取功效么,其实未有当真做过压力测验,因为本身抓的是今日头条,线程稍多一点瓶颈就跑到带宽上。并且它亦非真二十四线程而是异步,最终带宽全满(大致几百线程、
10MB/s左右)时,CPU也但是一半左右,那还只是四个linode最低配主机的CPU。並且日常自己限定了线程和抓取间隔,差非常的少有个别消耗品质;
最终是代码,异步编制程序最咳嗽的是掉进callback鬼世界,遵照本身实留意况写个多线队列的话,也比不上同步编程麻烦太多就是了。

发布于
2014-06-02 20
条评论
感谢

收藏 •
没有利于 •


小编保留义务

 

 

奥门新浦京官方网站 7
xlzd,http://xlzd.me‖专栏作者,个人博…

Kenneth
Ma、博客园客户、新浪客商 等人赞同

一点一点做解答吧:

1.对页面包车型大巴分析工夫

关于这一条,基本上正是靠特定语言的第三方包来成功
网页的分析。如若要从零开头本人实现二个HTML深入深入分析器,难度和岁月上的阻碍都以一点都不小的。而对此复杂的依赖大量Javascript运算生成的网页照旧央浼,则足以因此调治浏览器景况来实现。这一条上,Python是相对胜任的。

2.对数据库的操作能力(mysql)

对数据库的操作才具上,Python有官方及第三方的连接库。其余,对于爬虫抓取的数额,存款和储蓄在NoSQL型数据库个人以为特别合适。

3.爬取效能

诚然脚本语言的运算速度不高,不过相对于特定网址反爬虫机制强度以致互连网IO的进程,这几门语言的进程诧异都足以忽视不计,而介于开辟者的程度。借使选取好发送互连网央求的等候时间拍卖其它的业务(三十一线程、多进度只怕协程),那么各语言功能上是小难点的。

4.代码量

那或多或少上Python是占领优势的,名扬四海Python代码简洁著称,只要开荒者水平产生,Python代码能够像伪代码相符简单易懂,且代码量好低。

引入语言时表达所需类库只怕框架,多谢。
比如:python+MySQLdb+urllib2+re

Python: requests + MongoDB + BeautifulSoup

ps:其实本身不太合意用python(恐怕是在windows平台的因由,要求各个转字符编码,并且二十四线程貌似很鸡肋。卡塔尔

鉴于GIL的留存,Python的八十多线程确实还没利用到多核的优势,对此你勉强可以多进程消除。然则对于爬虫,更多的光阴介于互联网IO的守候上,所以一向利用协程就能够很好地进步抓取速度。

此外,前段时间在自个儿的专辑总括一些Python编写爬虫的经验,若是风乐趣应接围观指正。
专辑地址:http://zhuanlan.zhihu.com/xlz-d

发布于
2015-12-18
丰硕争论
感谢

收藏 •
还没协理 •


作者保留权利

 

 

奥门新浦京官方网站 8
朱峰,python…

code123 赞同

python有scapy,专门用来做爬虫的二个框架

发布于
2014-06-02 1
条评论
感谢

收藏 •
不曾扶持 •


小编保留职务

 

 

奥门新浦京官方网站 9
杨捷,脚本语言新轮子:http://deflang.org

微博客商、李友良、果壳网客商 等人赞同

自己用 PHP Node.js Python 写过抓取脚本,简单谈一下啊。

率先PHP。先说优势:英特网抓取和深入解析html的框架一抓一大把,种种工具直接拿来用就能够了,超轻易。短处:首先速度/功能很成难题,有二回下载电影海报的时候,由于是crontab准时实施,也没做优化,开的
php进度太多,直接把内部存款和储蓄器撑爆了。然后语法方面也很拖拖拉拉,各类关键字 符号
太多,缺乏简洁,给人一种未有认真规划过的以为到,写起来很麻烦。

Node.js。
优点是功效、功能照旧功能,由于网络是异步的,所以基本犹如几百个经过并发同样强盛,内部存款和储蓄器和CPU占用超小,若无对抓取来的多少开展复杂的演算加
工,那么系统的瓶颈基本就在带宽和写入MySQL等数据库的I/O速度。当然,优点的反面也是毛病,异步互连网代表你必要callback,当时假使职业要求是线性了,举例必得等待上多个页面抓取完了后,获得数量,才具拓宽下一个页面包车型客车抓取,以致多层的正视关系,那就能够晤世骇然的多层callback!基
本这个时候,代码结商谈逻辑就能够胡说八道。当然能够用Step等流程序调节制工具解决这几个难题。

最终说Python。假设您对效用未有最棒的要求,那么推荐用Python!首先,Python的语法很简单,同样的语句,能够少敲很频仍键盘。然后,Python特别符合做多少的管理,举例函数参数的打包解包,列表剖析,矩阵管理,极度有利。

奥门新浦京官方网站 10

三、启用apache的gzip功能

 

      Apache上运用Gzip压缩算法进行减少的模块有二种:mod_gzip
和mod_deflate。要接纳Gzip
Web压缩,请首先显著你的服务器开启了对那多个零器件之一的辅助。

     
纵然接收Gzip同时也需求顾客端浏览器的支撑,然则不用操心,近来大多浏览器皆是支撑Gzip了,如IE、Mozilla
Firefox、Opera、Chrome等。

    
通过查看HTTP头,大家能够高速判定使用的顾客端浏览器是还是不是支持选取gzip压缩。若发送的HTTP头中出现以下消息,则申明你的浏览器协助选拔相应的gzip压缩:

[cpp] view plaincopyprint?  

  1. Accept-Encoding: gzip 支持mod_gzip  
  2. Accept-Encoding: deflate 支持mod_deflate   
  3.   
  4. Accept-Encoding: gzip,deflate 同期帮忙mod_gzip 和mod_deflate  

如firebug查看:

奥门新浦京官方网站 11

Accept-Encoding: gzip,deflate 是还要协理mod_gzip 和mod_deflate

 

  
若是服务器开启了对Gzip组件的支撑,那么大家就可以在http.conf或.htaccess里面实行定制,下边是多个.htaccess布局的粗略实例:

mod_gzip 的配置:

[cpp] view plaincopyprint?  

  1. # mod_gzip:  
  2. <ifModule mod_gzip.c>  
  3. mod_gzip_on Yes  
  4. mod_gzip_dechunk Yes  
  5. mod_gzip_item_include file .(html?|txt|css|js|php|pl)$  
  6. mod_gzip_item_奥门新浦京官方网站,include handler ^cgi-script$  
  7. mod_gzip_item_include mime ^text/.*  
  8. mod_gzip_item_include mime ^application/x-javascript.*  
  9. mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*  
  10. <ifModule>  

mod_deflate的配备实例:

 

开拓张开apache 配置文件httpd.conf 

将#LoadModule deflate_module modules/mod_deflate.so去除开头的#号

[cpp] view plaincopyprint?  

  1. # mod_deflate:  
  2. <ifmodule mod_deflate.c>  
  3. DeflateCompressionLevel 6 #压缩率, 6是提议值.  
  4. AddOutputFilterByType DEFLATE text/plain  
  5. AddOutputFilterByType DEFLATE text/html  
  6. AddOutputFilterByType DEFLATE text/xml  
  7. AddOutputFilterByType DEFLATE text/css  
  8. AddOutputFilterByType DEFLATE text/javascript  
  9. AddOutputFilterByType DEFLATE application/xhtml+xml  
  10. AddOutputFilterByType DEFLATE application/xml  
  11. AddOutputFilterByType DEFLATE application/rss+xml  
  12. AddOutputFilterByType DEFLATE application/atom_xml  
  13. AddOutputFilterByType DEFLATE application/x-javascript  
  14. AddOutputFilterByType DEFLATE application/x-httpd-php  
  15. AddOutputFilterByType DEFLATE image/svg+xml  
  16. </ifmodule>  

里头的文件MIME类型能够依照自身景况增加,至于PDF
、图片、音乐文书档案之类的这几个作者都早就中度压缩格式,重复压缩的机能一点都不大,反而可能会因为扩张CPU的拍卖时间及浏览器的渲染难点而减低质量。所以就没须求再经过Gzip压缩。通过以上设置后再查看再次回到的HTTP头,现身以下消息则申明再次回到的多少已经过压缩。即网址前后相继所安插的Gzip压缩已奏效。

[cpp] view plaincopyprint?  

  1. Content-Encoding: gzip  

firebug查看:

 

奥门新浦京官方网站 12

 

注意:

1)不管选择mod_gzip
还是mod_deflate,此处再次回到的音信都平等。因为它们都以落实的gzip压缩方式。

2)CompressionLevel
9是指减弱程度的级差(设置压缩比率卡塔尔,取值范围在从1到9,9是最高阶段。据领悟,那样做最高可以减去8成大大小小的传输量(看档案内容而定),起码也能够节省八分之四。
CompressionLevel 预设能够使用 6
那个数值,以维持耗用途理器功能与网页压缩质量的平衡.
不提议安装太高,假诺设置非常高,纵然有异常高的压缩率,可是占用更加多的CPU财富.
3卡塔尔国对已然是裁减过的图片格式如jpg,音乐档案如DVD、压缩文件如zip之类的,就没必要再压缩了。

 

温馨如今也在弄二个Python的多少抓取处理工科具包,还在改善完善中,应接star:[yangjiePro/cutout

GitHub]()

发布于
2014-07-07
丰硕评论
感谢

收藏 •
未曾扶持 •


笔者保留义务

 

 

奥门新浦京官方网站 13
林灿斌,http://www.94cb.com/

王野草、八宝粥、宋超
等人赞同

写爬虫作者用过PHP、Python,JS写爬虫还没有见过,Node.js不精通。

PHP写爬虫辛亏,作者写过二个,用PHP Command Line下运作。用Curl_multi
50线程并发,一天能抓大约60万页,依网速而定,笔者是用的高校网所以非常快,数据是用正则提抽取来的。
Curl是比较早熟的四个lib,至极管理、http
header、POST之类都做得很好,首要的是PHP下操作MySQL举行入库操作相当轻易。
而是在三十多线程Curl(Curl_multi)方面,对于初读书人会比较麻烦,极其是PHP官方文书档案在Curl_multi这方面包车型大巴介绍也大为模糊。

Python写爬虫三个最大的裨益是相比较二货,Requests之类的lib成效上和Curl卓绝,但是如果只是做轻易的爬虫,易用性相比好,并且有 style=”text-decoration: underline;”>Beautiful
Soup
像这种类型的蠢人lib,确实是非常符合用来做爬虫。
而是编码大概真的是个令初读书人头疼的主题材料,笔者觉着PHP可能还越来越好一点,事实上假诺不是集体供给,小编本身做着玩的爬虫,作者都以用PHP写的。

JavaScript笔者认为像一个在虚构机里的设想机,抛开 style=”text-decoration: underline;”>性能不谈。

  1. 它首先是在一个沙箱里跑的,对于 style=”text-decoration: underline;”>操作数据库也许地点文件,会相比艰巨,未有原生接口,小编因为没用过这些做爬虫,也没去钻探过有哪些别的方案。
  2. 对此DOM树的剖析,除了 style=”text-decoration: underline;”>效能超低下 style=”text-decoration: underline;”>内部存款和储蓄器占用也相当大
  3. 跨域的话,即便在Chrome下得以经过
    –disable-web-security来禁止使用,不过也是一件小事。
  4. 不问可以预知JS要写爬虫,麻烦事是一大堆。

本人是没见过有人拿这些写爬虫的。

Node.js 作者是确实未有用过。

1.对页面包车型客车剖判技术基本没分别,大家都援救正则,然则Python有个别二货扩充,用起来会便利广大;
2.对数据库的操作技艺的话,PHP对MySQL有原生扶持,Python供给增添MySQLdb之类的lib,可是也不算麻烦;
3.爬取效能的话,都帮忙三十四线程,效能小编倒是没感到到有怎么样差异,基本上瓶颈只在网络上了。不过严格的测验自个儿没做过,究竟作者平素不用二种语言完结平等种效应的习贯,但是作者倒是以为PHP好像还要快一些?
4.代码量的话,爬虫这种简易的事物基本没什么分裂,几十行的事,倘诺加上极其管理也就百来行,也许麻烦点卓殊的Mark下来,等下重爬等等的管理,也就几百行,大家都无妨差距。
但是Python如若不把lib算进去的话鲜明是至少的。
奥门新浦京官方网站 14谈起质量的话,爬虫和质量基本不搭边,是毫无思谋的业务
在自己开爬虫的时候,将近30Mbps的爬取作用下,用PHP Command
Line做的爬虫,CPU占用也不过3-5%,内部存款和储蓄器消耗大致15-20MiB(Core 2 Duo
P8700——有个别历史的老U了,爬虫是50线程,每一种线程含拾二个正则提取、1个JSON剖析、2个数据库Insert操作
(百万品级数据的IF NOT EXIST 卡塔尔(قطر‎、三十九个左右的各个特别决断)——瓶颈应该唯有互连网
在你没G口的景况下,不用管如何性质,随意挑三个都一律,自个儿熟习的就好。
奥门新浦京官方网站 15自己开爬虫那几天,大约爬了270GiB左右的多寡。

编辑于
2014-06-02 12
条评论
感谢

收藏 •
从没扶植 • •
作者保留义务

 

 

 

奥门新浦京官方网站 16 新浪客商,高端弱智 http://ylsc633.com

 

用php里的curl抓取手提式有线电话机验证码平台里的编号
行使curl 爬取草liu
页面,况且自动下载图片
啊,小编心爱草榴,python作者还在看,个人以为,python确实很有力,nodejs今后必定将会看,
嗯,php不补助十六线程,所以只可以选拔服务器恐怕扩大来做,mab,笔者又不会了………
算了,看会草榴去…

发布于
2015-11-06 2
条评论
感谢

收藏 •
未曾扶植 •


小编保留义务

 

 

奥门新浦京官方网站 16
酷咔咔

博客园客户、arvin丶阿亮、JoyMonkey
赞同

自个儿用爬虫一天时间“偷了”新浪一百万客商,只为注解PHP是社会风气上最佳的语言

编辑于
2015-08-07 1
条评论
感谢

收藏 •
没有助于 •


小编保留义务

 

 

奥门新浦京官方网站 16 博客园客户,飘逸的技士/初级制作人

code123、npbool 赞同

python

您列的任何3个,符合的运用途景都不对。

发布于
2014-05-04
增添争辨
感谢

收藏 •
未有助于 •


我保留职务

 

 

奥门新浦京官方网站 19
其一徘徊花不太胖,.net,ios,nodejs技术员。身处互连网。

code123 赞同

果断python,c++也ok

发布于
2014-12-01
增添批评
感谢

收藏 •
从没支持 •


小编保留权利

 

 

奥门新浦京官方网站 20
蝙蝠Neeke,PHP官方PECL开荒组成员

 

python更切合写spider

发布于
2014-05-05
累积评价
感谢

收藏 •
尚无协助 •


小编保留职分

 

 

奥门新浦京官方网站 21
刘老烦,你不会因为关怀小编就怀胎了吧。

耿梓皓、徐志雷
赞同

明显是python。。。
这3个本身都用过,差异特别精通。
python>node.js>php

发布于
2014-09-30
拉长评价
感谢

收藏 •
一直不扶持 •


我保留职责

 

 

无名客商

Colliot
赞同

scala,java,爬ebay,一台机器并发量3000/s

编辑于
2015-07-03
增加评价
感谢

收藏 •
尚无帮衬 •


小编保留任务

 

 

奥门新浦京官方网站 22
李健富,CSM/Facilitator/Full Stack
Engineer

作者哪些都不会、xiaoshuai、晓帆
等人赞同

python中scrapy,非常好用的叁个爬虫框架

发布于
2014-05-06
丰硕商议
感谢

收藏 •
向来不支持 •


小编保留职分

 

 

奥门新浦京官方网站 23
Biscuit Linux,Talk is cheap,
show me the code.

Colliot
赞同

没人用Java吗?……

发布于
2015-05-06
足够评价
感谢

收藏 •
从不支持 •


作者保留职责

 

 

奥门新浦京官方网站 16 搜狐客商

 

go语言,并且有现有的门类

发布于
2015-12-18
增加评价
感谢

收藏 •
未曾扶助 •


我保留义务

 

 

奥门新浦京官方网站 25
亓京,不懂的事物重重呀!!

博客园客户 赞同

今昔写爬虫的话应该平时都以用python 的,因为python
用起来太方便啦。何况还应该有那么多好用的工具得以设置,代码量少之又少,可是意义而不是凡强盛,日常用python
抓网页的话,小编利用的是
requests 来发送央求获取数据,用beautiulSoap来剖析DOM布局。
自身的一个引导购物网址下边包车型客车消息正是用python 抓取的其他网址, 好货啦 http://haohuola.com

发布于
2015-07-06
加上评价
感谢

收藏 •
还未有协助 •


作者保留权利

 

 

奥门新浦京官方网站 26
金链大汉,网络从业者

code123 赞同

python urllib beautsoup gevent 做过优酷摄像爬取

发布于
2014-09-17
累计争辩
感谢

收藏 •
从未有过支持 •


小编保留权利

 

 

奥门新浦京官方网站 27
陈某某,平心、近气、修身

 

虽说本身没写过perl,不过本身无数相爱的人都用那些举行抓取

发布于
2014-05-06
加上评价
感谢

收藏 •
从不扶持 •


小编保留义务

更多

自家来回答这几个标题

写回答…

本人要回应

腾讯网是二个真真的问答社区,在这间享受文化、经历和见解,开掘更大的社会风气。
接受手提式有线电话机或邮箱注册

应用Wechat登入
采纳今日头条登陆
使用 QQ
登录

 

701 人关切该难点

 

换一换

奥门新浦京官方网站 28

四、mod_gzip 和mod_deflate的着重差异是何等?使用哪个越来越可以吗?

       第贰个界别是设置它们的Apache Web服务器版本的间距:

       Apache
1.x
各个没有内建网页压缩能力,所以才去用额外的第三方mod_gzip
模块来进行压缩。而Apache
2.x
合法在付出的时候,就把网页压缩思谋进来,内建了mod_deflate
那个模块,用以代表mod_gzip。固然两个都以选取的Gzip压缩算法,它们的运转规律是相近的。

       第3个界别是减少品质:

       mod_deflate 压缩速度略快而mod_gzip
的减削比略高。日常私下认可情形下,mod_gzip 会比mod_deflate
多出4%~6%的压缩量。

       那么,为啥使用mod_deflate?

       第五个区分是对服务器财富的占用:

       平时的话mod_gzip 对服务器CPU的据有要高一些。mod_deflate
是极度为承保服务器的属性而选用的二个减削模块,mod_deflate
供给少之又少的能源来压缩文件。那象征在高流量的服务器,使用mod_deflate
恐怕会比mod_gzip 加载速度越来越快。

     
不太驾驭?同理可得,假诺您的网站,天天不到1000单独来访的客人,想要加快网页的加载速度,就接受mod_gzip。尽管会额外开支一些服务器能源,
但也是值得的。假诺你的网址每一日超过1000单身访客,何况接纳的是共享的虚构主机,所分配系统财富有限的话,使用mod_deflate
将会是越来越好的选项。

     另外,从Apache 2.0.45开始,mod_deflate
可利用DeflateCompressionLevel
指令来安装压缩等第。该指令的值可为1(压缩速度最快,最低的压缩质量)至9(最慢的减少速度,压缩率最高)之间的子弹头,其私下认可值为6(压缩速度和压缩质量较为平衡的值)。这一个大致的扭转更是使得mod_deflate
可以轻易比美mod_gzip 的压缩。

P.S.
对于从未启用以上二种Gzip模块的伪造空间,还可以退而求其次使用php的zlib函数库(雷同必要查阅服务器是还是不是帮衬)来压缩文件,只是这种艺术应用起来相比辛劳,何况日常会比较花费服务器财富,请依照情状稳重使用。

 

 

五、zlib.output_compression和ob_gzhandler编码措施收缩**

     
服务器不扶助mod_gzip、mod_deflate模块,若想透过GZIP压缩网页内容,能够假造三种方式,开启zlib.output_compression恐怕经过ob_gzhandler编码的措施

     
1)zlib.output_compression是在对网页内容压缩的还要发送数据至顾客端。

      
2)ob_gzhandler是等待网页内容压缩完成后才举办发送,相比较之下前面一个功能更加高,但供给专一的是,两个无法同时使用,只可以选其一,不然将现身错误。

       两个的完毕情势做轻易描述:

    1. zlib.output_compression落成格局

       在暗中同意意况下,zlib.output_compression是关闭:

 

[cpp] view plaincopyprint?  

  1. ; Transparent output compression using the zlib library  
  2. ; Valid values for this option are ‘off’, ‘on’, or a specific buffer size  
  3. ; to be used for compression (default is 4KB)  
  4. ; Note: Resulting chunk size may vary due to nature of compression. PHP  
  5. ;   outputs chunks that are few hundreds bytes each as a result of  
  6. ;   compression. If you prefer a larger chunk size for better  
  7. ;   performance, enable output_buffering in addition.  
  8. ; Note: You need to use zlib.output_handler instead of the standard  
  9. ;   output_handler, or otherwise the output will be corrupted.  
  10. ;   
  11. zlib.output_compression = Off  
  12.   
  13. ;   
  14. ;zlib.output_compression_level = -1  

 

        如需打开需编辑php.ini文件,插手以下内容:

[cpp] view plaincopyprint?  

  1. zlib.output_compression = On  
  2. zlib.output_compression_level = 6  

       能够因此phpinfo(卡塔尔函数检查评定结果。

        当zlib.output_compression的Local
Value和MasterValue的值同为On时,表示已经生效,那时访谈的PHP页面(包蕴伪静态页面)已经GZIP压缩了,通过Firebug可能在线网页GZIP压缩检查评定工具可检验到压缩的法力。

      2. ob_gzhandler的兑现情势

     
要是急需利用ob_gzhandler,则需关闭zlib.output_compression,把php.ini文件内容更换为:

[cpp] view plaincopyprint?  

  1. zlib.output_compression = Off  
  2. zlib.output_compression_level = -1  

透过在PHP文件中插入相关代码达成GZIP压缩P压缩:

 

[cpp] view plaincopyprint?  

  1. if (extension_loaded(‘zlib’)) {  
  2.     if (  !headers_sent() AND isset($_SERVER[‘HTTP_ACCEPT_ENCODING’]) &&  
  3.           strpos($_SERVER[‘HTTP_ACCEPT_ENCODING’], ‘gzip’) !== FALSE)  
  4.     //页面未有出口且浏览器能够接纳GZIP的页面  
  5.     {  
  6.         ob_start(‘ob_gzhandler’);  
  7.     }  
  8. }  
  9. //待压缩的内容  
  10. echo $context;  
  11. ob_end_flush();  

 

 

  如何浏览器提醒:内容编码错误,应该是:

 使用ob_start(‘ob_gzhandler’卡塔尔国时候前边早就有内容输出,检查前面内容以至require include调用文件的从头到尾的经过。若无法找到能够在调用其它文件前使用ob_start(卡塔尔国,调用之后接受 ob_end_clean (State of Qatar 来解除输出的内容:

 

[php] view plaincopyprint?  

  1. if (extension_loaded(‘zlib’)) {  
  2.     if (  !headers_sent() AND isset($_SERVER[‘HTTP_ACCEPT_ENCODING’]) &&  
  3.     strpos($_SERVER[‘HTTP_ACCEPT_ENCODING’], ‘gzip’) !== FALSE)  
  4.         //页面未有出口且浏览器能够担当GZIP的页面  
  5.     {  
  6.         ob_end_clean ();  
  7.         ob_start(‘ob_gzhandler’);  
  8.     }  
  9. }  

抑或大家采用gzencode来压缩:

 

 

[php] view plaincopyprint?  

  1. <?php  
  2. $encoding = ‘gzip’;  
  3. $content = ‘123456789’;  
  4. ob_end_clean ();  
  5. header(‘Content-Encoding: ‘.$encoding);  
  6. $result = gzencode($content);  
  7. echo $result;  
  8. exit;  

 

 

不管是zlib.output_compression还是ob_gzhandler,都仅能对PHP文件实行GZIP压缩,对于HTML、CSS、JS等静态文件只好通过调用PHP的秘籍得以完结。

末尾想说的是,今后主流的浏览器暗中认可使用的是HTTP1.1磋商,基本都帮助GZIP压缩,对于IE来说,假诺你未有当选其菜单栏工具-》Internet
选项-》高等-》HTTP 1.1 设置-》使用 HTTP
1.1,那么,你将体会不到网页压缩后的速度升高所拉动的快感!

gzip压缩输出,linuxgzip压缩输出
一、gzip介绍 gzip是GNU
zip的缩写,它是叁个GNU自由软件的文件收缩程序,也时不常用来代表gzip这种文件格式…

连锁主题素材

  • PHP 和 node.js
    共存的题目? 4 个回答
  • 我们都在用 Node.js
    干什么吗? 34 个回答
  • Node.js 适合用来做 web
    开垦吗? 10 个回答
  • Node.js 为啥要用 JavaScript
    去贯彻? 11 个回答
  • 什么有效地上学 Node.js?
    26 个回答

  • 刘看山

  • 一举手一投足应用
  • 出席搜狐
  • 果壳网左券
  • 商务合作

© 2015 知乎

奥门新浦京官方网站 29

爬虫程序设计:

因为新浪须求登入工夫取获得关切者页面,所以从chrome登入之后把cookie拷贝下来给curl程序模拟登陆。

行使两大独立循环进度组(客户索引入度组、客户详细情况进度组卡塔尔,用的是php的pcntl增加,封装了一个十分好用的类,使用起来和golang的游侠客也基本上了。

下面是顾客详细情形的截图,顾客索引代码相仿

奥门新浦京官方网站 30

这里插个题外话,经过测量试验,小编的8核的Macbook,跑16进度的快慢最快,而16核的Linux服务器,居然是跑8历程最快,那点有一些让小编莫明其妙了,可是既然测量试验出最后经过数,就遵照最终设置就好啊。

1、客商索引进度组先以三个客户为源点,抓取这几个客户的爱护了和关注者,然后合併入库,因为是多进度,所以当有多个进度在拍卖同五个客商入库的时候就能够现出重复的顾客,所以数据库客商名字段自然要成立独一索引,当然也足以用redis这么些第三方缓存来确定保证原子性,这么些就不一样了。

透过步骤一从此现在,大家就获得上面的客商列表:

奥门新浦京官方网站 31

2、客户详细的情况进度组依照时间正序,获得第一入库的用户抓取详细情况,而且把创新时间更新为眼下岁月,这样就能够成为二个死循环,程序能够穿梭的跑,不断的巡回更新顾客音讯。

次第稳固运维到第二天,猛然未有新数据了,检查了瞬间意识和讯改准则了,不知是为着防笔者,依旧恰巧,反正给小编回到的多少是那般的

奥门新浦京官方网站 32

首先以为正是胡乱给本身出口数据让自家采摘不到,换了IP、模拟伪装了些数据,都没用,忽地认为到那么些很熟知,会不会是gzip?抱着思疑的态度,试了试gzip,首先当然是报告搜狐不要给本人gzip压缩过的数目

把 ”Accept-Encoding: gzip,deflatern”;
改成 ”Accept-Encoding:deflatern”; 去掉了 gzip,然并卵!

看来和讯是挟持要给自身gzip压缩数量了,既然如此,那自个儿就解压呗,查了一晃php解压gzip,开掘就三个函数gzinflate,于是把收获到得内容丰盛:

$content = substr($content, 10);

$content = gzinflate($content));

那边本人真想说,PHP真的是天下最佳的言语,就三个函数,就通透到底解决了难题,程序又欢娱的跑起来了。

在万分内容的时候,微博的周到也是给了本身不菲的帮衬,举个例子作者要分清客户性别:

奥门新浦京官方网站 33 
  奥门新浦京官方网站 34

哈哈开玩笑的拉,其实是体制里面有 icon-profile-female
和 icon-profile-male ^_^

自身蛋疼的抓了它那么多客户,到底有怎么样用呢?

事实上没什么用,小编就是闲的蛋疼 ^_^

有了那些音讯,其实就足以做一些人家发轫闭口就乱吹一通的大数量深入分析拉

最不足为奇的当然是:

1、性别布满

2、地域分布

3、专业布满

4、每一个职业的男女比例

本来,依照关心人数、浏览人数、提问数、回答数等排序,看看布衣黔黎都在关切怎么样,惠农、社会、地理、政治,整个网络都尽收眼底拉。。

想必,你还足以把头像拿来解析,用开源的验黄程序,把色情的筛选出来,然后去挽留北京?
^_^

然后,你还是能看看那一个学院出来的人,最终都干了怎么着。

有了那些数量,是否足以张开脑洞 ^_^

下边是选用这个多少做出来的一对有趣的图纸,实时图表数据足以去  上看

奥门新浦京官方网站 35

发表评论

电子邮件地址不会被公开。 必填项已用*标注