python

导航

python脚本爬虫入门

来源 :中华考试网 2020-11-02

  A. Jesse Jiryu Davis 是纽约 MongoDB 的工程师。他编写了异步 MongoDB Python 驱动程序 Motor,也是 MongoDB C 驱动程序的开发领袖和 PyMongo 团队成员。 他也为 asyncio 和 Tornado 做了贡献,本文在已经在《linux就该这么学》官网发布。以下是小编为你整理的python脚本爬虫入门

  如先定义一个列表

  a = [123,'456']

  一个是int类型,一个是str类型

  添加一个元素,使用append

  比如a.append(789)

  括号中的就是要添加的元素

  在指定位置添加元素,使用insert

  比如a.insert(1,'ABC')

  括号中前面的是指定位置,后面的是要插入添加的元素

  注意:位置从0开始,比如当前[123, '456', 789]

  123是位置0,'456'是位置1,789是位置3

  insert(1.'ABC')的意思是,在位置1插入'ABC',而位置1和之后的都往后挪动一位

  先定义一个列表

  a = [123, 'ABC', '456', 789, 123]

  删除指定对象,使用remove

  比如:a.remove(123)

  注意:它不会把列表里面的所有123都删,只会删除最前面的与一个

  3

  如果你删除的指定对象不存在的话,那么会报错

  比如:列表没有999这个元素,你非要删除这个元素的话,会报错

  如何去下载

  百度搜索“Python”,在官网中选择Python2.7,在选择列表项上双击即可下载;(Ps:虽然现在Python已经出到3.6版本,但由于版本差别不会特别大,而且公司项目使用的是旧版本的2.x,所以还是先从2.x开始)

  双击下载好的Python2.7,进入安装界面,选择软件的使用用户,默认下一步即可;

  设置Python2.7的安装目录,一般都为系统根目录下(C盘),默认即可;

  进入程序组件安装界面,拉取下拉框,选择安装组件“Add python.exe to Path”,然后点击“Next”,默认安装即可;

  不多时,即可看到安装完成界面

  此外,由安装了组件“Add python.exe to Path”也不需再配置Python的环境变量,它已经自动配置好了,查看如图可知;

  测试Python2.7是否已经正确安装完成,按下“win”+“R”键,输入“cmd”,点击确定,在弹出的命令行窗口中输入“Python”命令,即可看到电脑中已经安装好的Python;

  python的优点

  简单,python主张的是极简主义,学python就像在学英语一样。

  易学,学习python并不难,入门很快很简单,比c++,java容易多了。

  开源,python是免费开源产品,你可以自由地发布python这个软件,不用担心盗版和侵权。

  自动内存管理,内存溢出一直以来都是很头疼的事情,而python则是自己自动管理内存的。

  可以移植 ,python无论在windows和linux上都可以直接运行、。

  可扩展,python还可以嵌入其他的语言,比如java和c++等。

  但同时python也有自己的缺点,那就是运行的速度比起c++来说速度是慢了10倍的。

  异步代码

  还记得我们对你许下的承诺么?我们可以写出这样的异步代码,它既有回调方式的高效,也有多线程代码的简洁。这个结合是同过一种称为协程coroutine的模式来实现的。使用 Python3.4 标准库 asyncio 和一个叫“aiohttp”的包,在协程中获取一个网页是非常直接的( @asyncio.coroutine 修饰符并非魔法。事实上,如果它修饰的是一个生成器函数,并且没有设置 PYTHONASYNCIODEBUG 环境变量的话,这个修饰符基本上没啥用。它只是为了框架的其它部分方便,设置了一个属性 _is_coroutine 而已。也可以直接使用 asyncio 和裸生成器,而没有 @asyncio.coroutine 修饰符):

  @asyncio.coroutine def fetch(self, url): response = yield from self.session.get(url) body = yield from response.read()

  它也是可扩展的。在作者 Jesse 的系统上,与每个线程 50k 内存相比,一个 Python 协程只需要 3k 内存。Python 很容易就可以启动上千个协程。

  协程的概念可以追溯到计算机科学的远古时代,它很简单,一个可以暂停和恢复的子过程。线程是被操作系统控制的抢占式多任务,而协程的多任务是可合作的,它们自己选择什么时候暂停去执行下一个协程。

  有很多协程的实现。甚至在 Python 中也有几种。Python 3.4 标准库 asyncio 中的协程是建立在生成器之上的,这是一个 Future 类和“yield from”语句。从 Python 3.5 开始,协程变成了语言本身的特性(“PEP 492 Coroutines with async and await syntax” 中描述了 Python 3.5 内置的协程)。然而,理解 Python 3.4 中这个通过语言原有功能实现的协程,是我们处理 Python 3.5 中原生协程的基础。具体详细的配置图解请参考http://www.linuxprobe.com/asyncio-cooperative-network-2.html

  要解释 Python 3.4 中基于生成器的协程,我们需要深入生成器的方方面面,以及它们是如何在 asyncio 中用作协程的。

分享到

相关资讯