1.如何在以py文件的方式运行scrapy?
from scrapy import cmdline
cmdline.execute(['scrapy', 'crawl', '爬虫名'])
这样运行py文件即可,不用每次都找到目录在crawl
2.CrawlSpider是什么?
Spider是什么,是scrapy里面的一个爬虫类,CrawlSpider也是一个爬虫类,而且是Spider的子类,所以有自己独有的功能
独有功能:提取链接的功能 extract_links 链接提取器
from scrapy.linkextractors import LinkExtractor
正则,xpath都可以提取
如何使用:在创建爬虫的时候加上 -t crawlSpider就可以创建了
3.爬虫思路:
一、首先确定要爬取的内容和起始url,看看详情页在起始url后的第几级,然后划分好几层函数,比如爬取彼岸除4k以外所有类的所有壁纸,起始url---》提取出所有类的url传给下个函数---》提取每个图片的详情页---》解析详情页,将需要的内容提取出来存入item,这就是三层函数,每层用yield将这一层获取的来传递给下一层。(目前还没写遍历所有页码)
二、配置settings:
配置ua,取消robot协议的遵守,打开节流等等
三、根据目标文件的要求的格式来定义item里面的数据格式,然后将item导入到spider文件中实例化来存入解析详情页提取出来的内容
四、然后再pipeline里面定义下载文件的方式(每个分类为一个文件夹,如果存在该文件夹,则写入,不存在则创建)(今天就写到这里出bug,mongodb下载安装也浪费了好多时间还没弄好,调的太烦了,明天再写)。