Scrapy框架——安装Scrapy
程序员文章站
2022-05-07 15:17:44
...
Scrapy框架—— 安装Scrapy
Scrapy
可以说是爬虫界鼎鼎有名的框架。 它是一个重型的爬虫框架,结合数据抓取,导出,以及部分的数据清洗的功能。
本文针在python3.6的环境下来安装scrapy
需求配置
- sqlite依赖库(centos下为sqlite-devel包)
scrapy
框架的正常运行,你的 python3.6
版本需要编译支持 sqlite
,
python3.6
Twisted
scrapy
的异步功能实现,需要 Twisted
的支持。 目前 scrapy
的最新版本需要 Twisted>13.0
版本, 而 pip3.6
, 所以我们需要从源码编译。
安装sqlite依赖库
如果你的 python3.6
已经编译支持了 sqlite
,可以跳过这个步骤。
-
下载sqlite库
yum install sqlite-devel
编译python3.6
-
下载python3.6源码
cd /tmp curl -O Python-3.6.4.tgz https://www.python.org/ftp/python/3.6.4/Python-3.6.4.tgz
-
编译python3.6
tar xvvf Python-3.6.4 cd Python-3.6.4 ./configure make && make install
编译Twisted
-
下载Twisted源码
cd /tmp git clone https://github.com/twisted/twisted.git
-
编译Twisted
cd twisted/ python3.6 setup.py install
安装Scrapy
pip3 install scrapy
测试Scrapy是否正常工作
这里我们简单的抓一下京东首页的分类列表来测试一下 scrapy
是否正常工作。
scrapy genspider example www.jd.com //该命令会在当前目录下生成一个example.py文件
//example.py
import scrapy
class ExampleSpider(scrapy.Spider):
name = 'example'
allowed_domains = ['www.jd.com']
start_urls = ['http://www.jd.com/']
def parse(self, response):
category = response.xpath('//div[contains(@class,"navitems")]/ul/li/a/text()').extract();
for cate in category:
yield {'cate': cate}
pass
scrapy runspider example.py -L INFO -o category.json
//该命令会运行example.py爬虫脚本,然后将抓取结果保存到category.json中
//category.json
[
{"cate": "\u79d2\u6740"},
{"cate": "\u4f18\u60e0\u5238"},
{"cate": "PLUS\u4f1a\u5458"},
{"cate": "\u95ea\u8d2d"},
{"cate": "\u62cd\u5356"},
{"cate": "\u4eac\u4e1c\u670d\u9970"},
{"cate": "\u4eac\u4e1c\u8d85\u5e02"},
{"cate": "\u751f\u9c9c"},
{"cate": "\u5168\u7403\u8d2d"},
{"cate": "\u4eac\u4e1c\u91d1\u878d"}
]
上一篇: 第4章:类与对象