Python爬虫框架Scrapy安装使用步骤
发布时间:2022-02-23 13:49:09
一、爬虫框架Scarpy简介
Scrapy 是一个快速的高层次的屏幕抓取和网页爬虫框架,爬取网站,从网站页面得到结构化的数据,它有着广泛的用途,从数据挖掘到监测和自动测试,Scrapy完全用Python实现,完全开源,代码托管在Github上,可运行在Linux,Windows,Mac和BSD平台上,基于Twisted的异步网络库来处理网络通讯,用户只需要定制开发几个模块就可以轻松的实现一个爬虫,用来抓取网页内容以及各种图片。
二、Scrapy安装指南
我们的安装步骤假设你已经安装一下内容:<1>Python2.7<2>lxml<3>OpenSSL,我们使用Python的包管理工具pip或者easy_install来安装Scrapy。
pip的安装方式:
pip install Scrapy
easy_install的安装方式:
easy_install Scrapy
三、Ubuntu平台上环境配置
1、python的包管理工具
当前的包管理工具链是 easy_install/pip + distribute/setuptools
distutils : Python 自带的基本安装工具, 适用于非常简单的应用场景;
setuptools : 针对 distutils 做了大量扩展, 尤其是加入了包依赖机制. 在部分 Python 子社区已然是事实上的标准;
distribute : 由于 setuptools 开发进度缓慢, 不支持 Python 3, 代码混乱, 一帮程序员另起炉灶, 重构代码, 增加功能, 希望能够取代 setuptools 并被接纳为官方标准库, 他们非常努力, 在很短的时间便让社区接受了 distribute;,setuptools / distribute 都只是扩展了 distutils;
easy_install : setuptools 和 distribute 自带的安装脚本, 也就是一旦 setuptools 或 distribute 安装完毕, easy_install 也便可用. 最大的特点是自动查找 Python 官方维护的包源 PyPI , 安装第三方 Python 包非常方便; 使用:
pip : pip 的目标非常明确 – 取代 easy_install. easy_install 有很多不足: 安装事务是非原子操作, 只支持 svn, 没有提供卸载命令, 安装一系列包时需要写脚本; pip 解决了以上问题, 已俨然成为新的事实标准, virtualenv 与它已经成为一对好搭档;
安装过程:
安装distribute
$ curl -O http://python-distribute.org/distribute_setup.py
$ python distribute_setup.py
安装pip:
$ curl -O https://raw.github.com/pypa/pip/master/contrib/get-pip.py
$ [sudo] python get-pip.py
2、Scrapy的安装
在Windows平台上,可以通过包管理工具或者手动下载各种依赖的二进制包:pywin32,Twisted,zope.interface,lxml,pyOpenSSL,在Ubuntu9.10以后的版本上,官方推荐不用使用Ubuntu提供的python-scrapy包,它们要么太老要么太慢,无法匹配最新的Scrapy,解决方案是,使用官方的Ubuntu Packages,它提供了所有的依赖库,并且对于最新的bug提供持续的更新,稳定性更高,它们持续的从Github仓库(master和stable branches)构建,Scrapy在Ubuntu9.10之后的版本上的安装方法如下:
<1>输入GPG密钥
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 627220E7
<2>创建/etc/apt/sources.list.d/scrapy.list 文件
echo 'deb http://archive.scrapy.org/ubuntu scrapy main' | sudo tee /etc/apt/sources.list.d/scrapy.list
<3>更新包列表,安装scrapy版本,其中VERSION用实际的版本代替,如scrapy-0.22
sudo apt-get update && sudo apt-get install scrapy-VERSION
3、Scrapy依赖库的安装
ubuntu12.04下scrapy依赖库的安装
ImportError: No module named w3lib.http
pip install w3lib
ImportError: No module named twisted
pip install twisted
ImportError: No module named lxml.html
pip install lxml
解决:error: libxml/xmlversion.h: No such file or directory
apt-get install libxml2-dev libxslt-dev
apt-get install python-lxml
解决:ImportError: No module named cssselect
pip install cssselect
ImportError: No module named OpenSSL
pip install pyOpenSSL
4、定制自己的爬虫开发
切换到文件目录,开启新的工程
scrapy startproject test


猜你喜欢
- 几个星期前,SQL Server 2016的最新CTP版本已经发布了:CTP 2.4(目前已经是CTP 3.0)。这个预览版相比以前的CTP
- 实现效果通过源图片,在当前工作目录的/img目录下生成1000张,分别从1*1到1000*1000像素的图片。效果如下:目录结构实现示例#
- import sysfrom PyQt5 import QtWidgetsfrom PyQt5.QtWidgets import QMain
- 随着ES6规范的到来,Js中定义变量的方法已经由单一的 var 方式发展到了 var、let、const 三种之多。var 众所周知,可那俩
- 手写数字识别算法的设计与实现本文使用python基于TensorFlow设计手写数字识别算法,并编程实现GUI界面,构建手写数字识别系统。这
- 二、基本概念1、数据库数据库(DB):即DataBase的缩写,是按照一定的数据结构来组织、存储和管理数据的一个仓库。是存储在一起的相关数据
- 课程亮点系统分析目标网页html标签数据解析方法海量图片数据一键保存环境介绍python 3.8pycharm模块使用requests &g
- 【原理介绍】通过NETCONF,网管能够用可视化的界面统一管理网络中的设备,并且安全性高、可靠性强、扩展性强。如下图所示,网管与网络中的所有
- 前言今天帮师兄赶在deadline之前画论文的图,现学现卖很是刺激,现把使用matplotlib的子库pyplot画折线图和柱状图的代码记录
- 需求如下: 1.模板页右边包含了一个登陆div,想让没登陆的时候这个div显示,登陆后该div隐藏 2.显示一个欢迎用户的div,主要是想通
- 在ASP中,你可通过VBScript和其他方式调用自程序。实例:调用使用VBScript的子程序如何从ASP调用以VBScript编写的子程
- 在使用 SQL Server 的过程中,用户遇到的最多的问题莫过于连接失败了。一般而言,有以下两种连接 SQL Server 的方式,一是利
- “占位图形”顾名思义是在准备好将最终图形添加到 Web 页之前使用的临时图形。使用它可以在没有理想的图形的情况下先行制作Web页面——在需要
- 前言Django原生自带的数据库支持是sqlite,但是我们现在常用的数据库一般是mysql,mangodb等数据库。所以我们要改变数据库的
- 骨骼识别的应用场景如今,当前疫情大环境之下。很多人,因为居家办公或者其他原因闷在家里不能外出健身。那么,借助骨骼识别和卷积神经网络模型,计算
- 本文实例讲述了windows下Python实现将pdf文件转化为png格式图片的方法。分享给大家供大家参考,具体如下:最近工作中需要把pdf
- 前言在使用传统物理机或云服务器上部署项目都会存在一些痛点比如:项目部署速度慢、资源浪费、迁移难且扩展低而使用 Docker 部署项目的优势包
- floor() 函数向下舍入为最接近的整数。语法floor(x)参数描述x必需。一个数。说明返回不大于 x 的下一个整数
- 1、解决方案mysql是不支持跨库连接的,如果我们实在要连接的话可以用dblink方式。解释:dblink就是我们在创建表的时候连接到我们的
- 一、PIL库对图像的基本操作1、读取图片PIL网上有很多介绍,这里不再讲解。直接操作,读取一张图片,将其转换为灰度图像,并打印出来。from