爬虫基础——scrapy基本使用

筅森魡賤 提交于 2020-02-04 19:11:58

scrapy支持Python2.7python3.4以上版本。

python包可以用全局安装(也称为系统范围),也可以安装咋用户空间中。

Windows

1.在https://www.lfd.uci.edu/~gohlke/pythonlibs/下载对应的Twisted的版本文件
2. 在命令行进入到Twisted的目录 执行pip install 加Twisted文件名

3.执行pip install scrapy

Ubuntu 14.04或以上 安装
scrapy目前正在使用最新版的lxml,twisted和pyOpenSSL进行测试,并且与最近的Ubuntu发行版兼容。但它也支持旧版本的Ubuntu,比如Ubuntu14.04,尽管可能存在TLS连接问题。

Ubuntu安装注意事项

不要使用 python-scrapyUbuntu提供的软件包,它们通常太旧而且速度慢,无法赶上最新的Scrapy。

要在Ubuntu(或基于Ubuntu)系统上安装scrapy,您需要安装这些依赖项:

sudo apt-get install python-dev python-pip libxml2-dev libxslt1-dev zlib1g-dev libffi-dev libssl-dev

如果你想在python3上安装scrapy,你还需要Python3的开发头文件:

sudo apt-get install python3-dev

在virtualenv中,你可以使用pip安装Scrapy:

pip install scrapy -i pypi.doubanio.com/simple

新建项目

通过scrapy命令可以很方面的新建scrapy项目。

语法格式:scrapy startproject <project_name> [project_dir]

该命令会在project_dir文件加下创建一个名为project_name的Scrapy新项目。如果project_dir没有指定,project_dir与project_name相同。

进入你想要存放项目的目录下运行一下命令:

scrapy startproject tz_spider

该命令会在当前目录创建包含一下文件的名为tz_spider的目录

新建爬虫

创建一个TzcSpider的类,它必须继承scrapy.Spider类,需要定义一下三个属性:
name: spider的名字,必须且唯一
start_urls: 初始的url列表
parse(self, response) 方法:每个初始url完成之后被调用。这个函数要完成一下两个功能:
解析响应,封装成item对象并返回这个对象
提取新的需要下载的url,创建新的request,并返回它

我们也可以通过命令创建爬虫

语法格式:scrapy genspider [-t template] <name> <domain>
运行命令:scrapy genspider tzc www.shiguangkey.com
<name>:爬虫文件名
<domain>:需要爬取网站的域名

运行爬虫

首先进入项目根目录,然后
运行命令:scrapy crawl tzc就可以启动爬虫了。 这个命令会启动我们刚才创建的那个名为tzc的爬虫,你会在屏幕上得到类似左图的输出。
语法格式:scrapy crawl <project name>
在这里插入图片描述

settings里面问你是否服从爬虫君子协议,当然不服从啦

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!