• [原创]手把手教你写网络爬虫(5):PhantomJS实战

    Posted by : lon.y@qq.com on 2018年5月7日

    大家好!从今天开始,我要与大家一起打造一个属于我们自己的分布式爬虫平台,同时也会对涉及到的技术进行详细介绍。大家如果有什么好的想法请多留言,多提意见,一起来完善我们的爬虫平台。在正式介绍平台之前,先用一些篇幅对基础篇做一点补充。模拟滚动 这次的目标是爬一个众筹网站的所有项目,项目列表页如下:https://www.kaistart.com/project/more.html。打开后进行分析,页面显示出10个项目: 如果想看到更多项目,并不能像网易云音乐那样

    阅读全文...

  • 手把手教你写网络爬虫(4):Scrapy入门

    Posted by : lon.y@qq.com on 2018年5月6日

    上期我们理性的分析了为什么要学习Scrapy,理由只有一个,那就是免费,一分钱都不用花! 咦?怎么有人扔西红柿?好吧,我承认电视看多了。不过今天是没得看了,为了赶稿,又是一个不眠夜。。。言归正传,我们将在这一期介绍完Scrapy的基础知识, 如果想深入研究,大家可以参考官方文档,那可是出了名的全面,我就不占用公众号的篇幅了。 架构简介 下面是Scrapy的架构,包括组件以及在系统中发生的数据流的概览(红色箭头所示)。 之后会对每个组件做简单介绍,数据流也会

    阅读全文...

  • [原创]手把手教你写网络爬虫(3):开源爬虫框架对比

    Posted by : lon.y@qq.com on 2018年4月29日

    介绍 大家好!我们从今天开始学习开源爬虫框架Scrapy,如果你看过《手把手》系列的前两篇,那么今天的内容就非常容易理解了。细心的读者也许会有疑问,为什么不学出身名门的Apache顶级项目Nutch,或者人气飙升的国内大神开发的Pyspider等框架呢?原因很简单,我们来看一下主流爬虫框架在GitHub上的活跃度: Project Language Star Watch Fork Nutch Java 1111 195 808 webmagic Java

    阅读全文...

  • 手把手教你写网络爬虫(1):网易云音乐歌单

    Posted by : lon.y@qq.com on 2018年4月28日

      大家好,《手把手教你写网络爬虫》连载开始了!在笔者的职业生涯中,几乎没有发现像网络爬虫这样的编程实践,可以同时吸引程序员和门外汉的注意。本文由浅入深的把爬虫技术和盘托出,为初学者提供一种轻松的入门方式。请跟随我们一起踏上爬虫学习的打怪升级之路吧! 介绍 什么是爬虫? 先看看百度百科的定义: 简单的说网络爬虫(Web crawler)也叫做网络铲(Web scraper)、网络蜘蛛(Web spider),其行为一般是先“爬”到对应的网页上,再把需要的信

    阅读全文...

  • 手把手教你写网络爬虫(2):迷你爬虫架构

    Posted by : lon.y@qq.com on 2018年4月28日

    介绍 大家好!回顾上一期,我们在介绍了爬虫的基本概念之后,就利用各种工具横冲直撞的完成了一个小爬虫,目的就是猛、糙、快,方便初学者上手,建立信心。对于有一定基础的读者,请不要着急,以后我们会学习主流的开源框架,打造出一个强大专业的爬虫系统!不过在此之前,要继续打好基础,本期我们先介绍爬虫的种类,然后选取最典型的通用网络爬虫,为其设计一个迷你框架。有了自己对框架的思考后,再学习复杂的开源框架就有头绪了。 今天我们会把更多的时间用在思考上,而不是一根筋的cod

    阅读全文...

  • 一行代码蒸发了¥6,447,277,680 人民币!

    Posted by : lon.y@qq.com on 2018年4月28日

    现在进入你还是先行者,最后观望者进场才是韭菜。 背景 今天有人在群里说,Beauty Chain 美蜜 代码里面有bug,已经有人利用该bug获得了 57,896,044,618,658,100,000,000,000,000,000,000,000,000,000,000,000,000,000,000.792003956564819968 个 BEC 那笔操作记录是 0xad89ff16fd1ebe3a0a7cf4ed282302c06626c1af3

    阅读全文...

  • Python 数据处理库 pandas 进阶教程

    Posted by : lon.y@qq.com on 2018年4月19日

    在前面一篇文章中,我们对pandas做了一些入门介绍。本文是它的进阶篇。在这篇文章中,我们会讲解一些更深入的知识。 前言 本文紧接着前一篇的入门教程,会介绍一些关于pandas的进阶知识。建议读者在阅读本文之前先看完pandas入门教程。 同样的,本文的测试数据和源码可以在这里获取: Github:pandas_tutorial 。 数据访问 在入门教程中,我们已经使用过访问数据的方法。这里我们再集中看一下。 注:这里的数据访问方法既适用于Series,也

    阅读全文...

  • Python 数据处理库 pandas 入门教程

    Posted by : lon.y@qq.com on 2018年4月18日

    pandas是一个Python语言的软件包,在我们使用Python语言进行机器学习编程的时候,这是一个非常常用的基础编程库。本文是对它的一个入门教程。 pandas提供了快速,灵活和富有表现力的数据结构,目的是使“关系”或“标记”数据的工作既简单又直观。它旨在成为在Python中进行实际数据分析的高级构建块。 入门介绍 pandas适合于许多不同类型的数据,包括: 具有异构类型列的表格数据,例如SQL表格或Excel数据 有序和无序(不一定是固定频率)时间

    阅读全文...

  • Python 绘图库 Matplotlib 入门教程

    Posted by : lon.y@qq.com on 2018年4月17日

    Matplotlib是一个Python语言的2D绘图库,它支持各种平台,并且功能强大,能够轻易绘制出各种专业的图像。本文是对它的一个入门教程。 运行环境 由于这是一个Python语言的软件包,因此需要你的机器上首先安装好Python语言的环境。关于这一点,请自行在网络上搜索获取方法。 关于如何安装Matplotlib请参见这里:Matplotlib Installing。 笔者推荐大家通过pip的方式进行安装,具体方法如下: sudo pip3 insta

    阅读全文...

  • 用 Python 编写的 Python 解释器

    Posted by : lon.y@qq.com on 2018年4月13日

    Allison是Dropbox的工程师,在那里她维护着世界上最大的由Python客户组成的网络。在Dropbox之前,她是Recurse Center的引导师, … 她在北美的PyCon做过关于Python内部机制的演讲,并且她喜欢奇怪的bugs。她的博客地址是akaptur.com. Introduction Byterun是一个用Python实现的Python解释器。随着我在Byterun上的工作,我惊讶并很高兴地的发现,这个Python解释器的基础结

    阅读全文...