百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

Python爬虫架构Scrapy快速安装(python爬虫程序框架)

ccwgpt 2024-09-20 13:21 41 浏览 0 评论

Scrapy的安装相对来说比较简单,不过它会完全依赖于你从哪里起步。为了能够支持尽可能多的用户,运行和安装Scrapy以及所有示例的“官方”方式是通过Vagrant,该软件能够让你在不考虑宿主操作系统的情况下,运行一个标准的Linux系统,在该系统中我们已经安装好所有需要用到的工具。

我们将会在接下来的几小节中给出Vagrant的使用说明以及一些常用操作系统中的指引。

MacOS

为了更加方便地阅读本书,请按照后面给出的Vagrant使用说明操作。如果你想直接在MacOS系统中安装Scrapy,其实也很简单。只需要输入下面的命令即可。

$ easy_install scrapy

然后,一切都会为你准备好。在过程中,可能会要求你填写密码或安装Xcode,如图3.1所示。这些都没有问题,你可以放心地接受这些请求。

图3.1

Windows

直接在Windows系统中安装Scrapy会复杂一些,坦白来说,会有一点痛苦。而且,安装本书中所需的所有软件也需要很大程度的勇气和决心。我们已经为你做好了准备。Vagrant和Virtualbox可以在Windows 64位平台中良好运行。直接前往本章后续的相关小节,你可以很快将其安装好并运行起来。如果你必须要在Windows系统中直接安装Scrapy,请查阅本书网站(http://scrapybook.com)中的资源。

Linux

和前面提及的两个操作系统一样,如果你想按照本书操作,那么Vagrant就是最为推荐的方式。

由于在很多场景下,你需要在Linux服务器中安装Scrapy,因此更详尽的指引可能会很有用。

确切的依赖条件经常会发生变更。本书编写时,我们安装的Scrapy版本是1.0.3,下面的内容是针对不同主流系统的操作指南。

1.Ubuntu或Debian Linux

为了在Ubuntu(使用Ubuntu 14.04 Trust Tahr 64位版本测试)或其他使用apt的发布版本中安装Scrapy,需要执行如下3个命令。

$ sudo apt-get update

$ sudo apt-get install python-pip python-lxml python-crypto python-
cssselect python-openssl python-w3lib python-twisted python-dev libxml2-
dev libxslt1-dev zlib1g-dev libffi-dev libssl-dev

$ sudo pip install scrapy

上述过程需要一些编译工作,而且可能会被不时打断,不过它将会为你安装PyPI源上最新版本的Scrapy。如果你想避免某些编译工作,并且能够忍受使用稍微过时一些的版本的话,可以通过Google搜索“install Scrapy Ubuntu packages”,并跟随Scrapy官方文档的指引进行操作。

2.Red Hat或CentOS Linux

在Red Hat或其他使用yum的发布版本中安装Scrapy相对来说比较容易。你只需按照如下3行操作即可。

sudo yum update
sudo yum -y install libxslt-devel pyOpenSSL python-lxml python-devel gcc
sudo easy_install scrapy

源码安装

只要你按照上述指引操作的话,就已经安装好了Scrapy目前所需的所有依赖。由于Scrapy是纯Python应用,因此如果你想修改其源代码或测试最新功能,可以很容易地从https://github.com/scrapy/scrapy网站中克隆其最新版本。在你的系统中安装Scrapy,只需输入如下命令。

$ git clone https://github.com/scrapy/scrapy.git
$ cd scrapy
$ python setup.py install

我猜如果你属于这类Scrapy用户,也就不需要我再提及virtualenv了。

升级Scrapy

Scrapy经常会升级。你会发现自己需要在很短时间内完成升级,此时可以使用pip、easy_install或aptitude完成这项工作。

$ sudo pip install --upgrade Scrapy

$ sudo easy_install --upgrade scrapy

如果想降级或选择特定版本,可以通过指定版本号来完成,比如:

$ sudo pip install Scrapy==1.0.0

$ sudo easy_install scrapy==1.0.0

Vagrant:运行示例的官方方式

本书中会有很多复杂但又有趣的例子,其中一些例子会用到很多服务。无论是处于初学还是进阶阶段,都可以运行本书中的这些示例,这是因为被称为Vagrant的程序可以让我们仅仅使用简单的命令就能准备好这个复杂的系统。本书中使用的系统如图3.2所示。

在Vagrant的术语中,你的电脑或笔记本被称为“宿主”机。Vagrant使用宿主机运行Docker提供者VM(虚拟机)。这些技术可以让我们拥有一个隔离的系统,在其中拥有其私有网络,可以忽略宿主机的软硬件,运行本书中的示例。

大部分章节只使用了两个服务:"dev"机器和"web"机器。我们登录到dev机器中运行爬虫,抓取web机器中的页面。后面的一些章节会用到更多的服务,包括数据库和大数据处理引擎。

请按照附录A的说明,在操作系统中安装Vagrant。到附录A的结尾时,你应当已经在操作系统中安装好git和Vagrant了。打开控制台/终端/命令提示符,现在可以按照如下操作获取本书的代码了。

$ git clone https://github.com/scalingexcellence/scrapybook.git
$ cd scrapybook

然后可以通过输入如下命令打开Vagrant系统。

$ vagrant up --no-parallel

在首次运行时将会花费一些时间,这取决于你的网络连接状况。在这之后,'vagrant up'操作将会瞬间完成。当系统运行起来之后,就可以使用如下命令登录dev虚拟机。

$ vagrant ssh

现在,你已经处于开发控制台当中,在这里可以按照本书的其他说明操作。代码已经从你的宿主机复制到dev机器当中,可以在book目录下找到这些代码。

$ cd book
$ ls
ch03 ch04 ch05 ch07 ch08 ch09 ch10 ch11 ...

打开几个控制台并执行vagrant ssh,可以获得多个可供操作的dev终端。可以使用vagrant halt关闭系统,使用vagrant status查看系统状态。请注意,vagrant halt不会关掉VM。如果出现问题,则需要打开VirtualBox然后手动关闭它,或者使用vagrant global-status找到其id(名为"docker-provider"),然后使用vagrant halt <ID>停掉它。即使你处于离线状态,大部分示例仍然能够运行,这也是使用Vagrant的一个很好的副作用。

现在,我们已经正确地创建好了系统,下面就该准备学习Scrapy了。

相关推荐

团队管理“布阵术”:3招让你的团队战斗力爆表!

为何古代军队能够以一当十?为何现代企业有的团队高效似“特种部队”,有的却松散若“游击队”?**答案正隐匿于“布阵术”之中!**今时今日,让我们从古代兵法里萃取3个核心要义,助您塑造一支战斗力爆棚的...

知情人士回应字节大模型团队架构调整

【知情人士回应字节大模型团队架构调整】财联社2月21日电,针对原谷歌DeepMind副总裁吴永辉加入字节跳动后引发的团队调整问题,知情人士回应称:吴永辉博士主要负责AI基础研究探索工作,偏基础研究;A...

豆包大模型团队开源RLHF框架,训练吞吐量最高提升20倍

强化学习(RL)对大模型复杂推理能力提升有关键作用,但其复杂的计算流程对训练和部署也带来了巨大挑战。近日,字节跳动豆包大模型团队与香港大学联合提出HybridFlow。这是一个灵活高效的RL/RL...

创业团队如何设计股权架构及分配(创业团队如何设计股权架构及分配方案)

创业团队的股权架构设计,决定了公司在随后发展中呈现出的股权布局。如果最初的股权架构就存在先天不足,公司就很难顺利、稳定地成长起来。因此,创业之初,对股权设计应慎之又慎,避免留下巨大隐患和风险。两个人如...

消息称吴永辉入职后引发字节大模型团队架构大调整

2月21日,有消息称前谷歌大佬吴永辉加入字节跳动,并担任大模型团队Seed基础研究负责人后,引发了字节跳动大模型团队架构大调整。多名原本向朱文佳汇报的算法和技术负责人开始转向吴永辉汇报。简单来说,就是...

31页组织效能提升模型,经营管理团队搭建框架与权责定位

分享职场干货,提升能力!为职场精英打造个人知识体系,升职加薪!31页组织效能提升模型如何拿到分享的源文件:请您关注本头条号,然后私信本头条号“文米”2个字,按照操作流程,专人负责发送源文件给您。...

异形柱结构(异形柱结构技术规程)

下列关于混凝土异形柱结构设计的说法,其中何项正确?(A)混凝土异形柱框架结构可用于所有非抗震和抗震设防地区的一般居住建筑。(B)抗震设防烈度为6度时,对标准设防类(丙类)采用异形柱结构的建筑可不进行地...

职场干货:金字塔原理(金字塔原理实战篇)

金字塔原理的适用范围:金字塔原理适用于所有需要构建清晰逻辑框架的文章。第一篇:表达的逻辑。如何利用金字塔原理构建基本的金字塔结构受众(包括读者、听众、观众或学员)最容易理解的顺序:先了解主要的、抽象的...

底部剪力法(底部剪力法的基本原理)

某四层钢筋混凝土框架结构,计算简图如图1所示。抗震设防类别为丙类,抗震设防烈度为8度(0.2g),Ⅱ类场地,设计地震分组为第一组,第一自振周期T1=0.55s。一至四层的楼层侧向刚度依次为:K1=1...

结构等效重力荷载代表值(等效重力荷载系数)

某五层钢筋混凝土框架结构办公楼,房屋高度25.45m。抗震设防烈度8度,设防类别丙类,设计基本地震加速度0.2g,设计地震分组第二组,场地类别为Ⅱ类,混凝土强度等级C30。该结构平面和竖向均规则。假定...

体系结构已成昭告后世善莫大焉(体系构架是什么意思)

实践先行也理论已初步完成框架结构留余后人后世子孙俗话说前人栽树后人乘凉在夏商周大明大清民国共和前人栽树下吾之辈已完成结构体系又俗话说青出于蓝而胜于蓝各个时期任务不同吾辈探索框架结构体系经历有限肯定发展...

框架柱抗震构造要求(框架柱抗震设计)

某现浇钢筋混凝土框架-剪力墙结构高层办公楼,抗震设防烈度为8度(0.2g),场地类别为Ⅱ类,抗震等级:框架二级,剪力墙一级,混凝土强度等级:框架柱及剪力墙C50,框架梁及楼板C35,纵向钢筋及箍筋均采...

梁的刚度、挠度控制(钢梁挠度过大会引起什么原因)

某办公楼为现浇钢筋混凝土框架结构,r0=1.0,混凝土强度等级C35,纵向钢筋采用HRB400,箍筋采用HPB300。其二层(中间楼层)的局部平面图和次梁L-1的计算简图如图1~3(Z)所示,其中,K...

死要面子!有钱做大玻璃窗,却没有钱做“柱和梁”,不怕房塌吗?

活久见,有钱做2层落地大玻璃窗,却没有钱做“柱子和圈梁”,这样的农村自建房,安全吗?最近刷到个魔幻施工现场,如下图,这栋5开间的农村自建房,居然做了2个全景落地窗仔细观察,这2个落地窗还是飘窗,为了追...

不是承重墙,物业也不让拆?话说装修就一定要拆墙才行么

最近发现好多朋友装修时总想拆墙“爆改”空间,别以为只要避开承重墙就能随便砸!我家楼上邻居去年装修,拆了阳台矮墙想扩客厅,结果物业直接上门叫停。后来才知道,这种配重墙拆了会让阳台承重失衡,整栋楼都可能变...

取消回复欢迎 发表评论: