一、前言
由于工作需要,需要爬取某个网站的信息,之前没有做过爬虫。可能很多新手跟我一样,着手之前,都会在网上搜索各种信息,或者问同事,然后你会得到多种实践方法。这里,我接触过的爬虫方法主要是下面三种
而工作中主要是使用scrapy,前面两种不是特别了解,我看很多人用它们和正则表达(re)一起使用,而我选择了scrapy和xpath一起使用。当然,你也可以选择scrapy和css,xpath和css是两种选择器,就是编程语言中的两种文本路径表达形式。好了,下面主要介绍下scrapy
二、安装
1、window下,建议安装Anaconda IDE,因为安装这个的时候,附带了安装scrapy时需要的许多模块,而且可以使用Anaconda Prompt进行各种操作,比如:pip install scrapy
2、Linux下,安装scrapy时,我的环境变量下很多模块没有,所以每安装一次就报错,说少了某个模块,这样来回折腾了十三四次才安装成功,在Linux系统下,也是使用pip进行安装,我安装的话一般会加--user参数,这样就可以安装到自己的目录下(//home/.local/),不需要超级权限
三、爬虫过程
1、scrapy startproject scrapytest:创建项目,用法可以参照上图,如果需要知道每个子命令的用法,如下图
2、在scrapytest/scrapytest/spiders/目录下编辑新文件scrapytest_spider.py
3、上面的程序都是实现最简单的功能,把整个响应的body爬取下来,如果需要对body做进一步处理,就要编辑目录下的items.py和pipelines.py脚本,你需要在items.py文件中创建类,来保存你需要的东西,如:
4、在scrapytest_spider.py文件中通过创建这个类的实例来使用它,这里需要结合xpath或者css选择器来提前你需要的信息,如: