转自 https://blog.csdn.net/qq_42543250/article/details/81347368
目前我是使用第二种方法,利用anaconda安装scrapy框架。比较简单不会出现升级 pip 提示。
1. 在日常写代码的目录下,建一个文件夹“Scrapy测试”
2.终端中输入: cd (注意cd后有一个空格),接着进入该文件夹
3. 在终端输入指令:scrapy startproject wxz ,在该文件夹中创建项目
4.创建spider文件,在终端中输入scrapy genspider taobaoSpider baidu.com,这个命令是指定要爬虫的文件名和网站的域名,命令格式为:scrapy genspider taobaoSpider + 目标网站的域名。执行效果如图所示:
在文件夹下看见的效果图:
它们的作用分别是:
items.py:定义爬虫程序的数据模型
middlewares.py:定义数据模型中的中间件
pipelines.py:管道文件,负责对爬虫返回数据的处理
settings.py:爬虫程序设置,主要是一些优先级设置,优先级越高,值越小
scrapy.cfg:内容为scrapy的基础配置
值得注意的是,在学习阶段,我们要明白几点设置文件setting中的几处配置代码,它们影响着我们的爬虫的效率:
ROBOTSTXT_OBEY = True
这行代码意思是:是否遵守爬虫协议,学习阶段我们要改为False
SPIDER_MIDDLEWARES = {
'wxz.middlewares.WxzSpiderMiddleware': 800,
}
这里的数值越低,速度越快。
5. 创建成功后,使用scrapy crawl taobaoSpider命令,即可得到目标网站的源码:
如进行setting配置,可能出现的问题
setting文档中,MyCustomDownloaderMiddleware 未定义。(https://blog.csdn.net/myq151/article/details/83339549)
进入middlewares.py文件中,发现确实未定义该类,只定义了MoviespiderSpiderMiddleware 。
故,在setting中替换掉 MyCustomDownloaderMiddleware 即可。