建立项目: scrapy startproject myproject cd myproject 建立一个spider scrapy genspider spidername spiderurl.com 查看全部命令: scrapy -h 全局命令: startproject settings runspider shell fetch view version 项目命令: crawl check list edit parse genspider bench 建立项目: startproject scrapy startproject myproject 查看模板: scrapy genspider -l (basic, crawl, csvfeed, xmlfeed) 在当前项目建立spider(使用模板: -t basic) scrapy genspider [-t template] <spiderName> <spiderUrl> 运行spider scrapy crawl myspidername 保存json文件.xml, .jl... scrapy crawl myspider -o fileName.json 检查项目代码: scrapy check [-l] [spider] fetch查看网页返回内容: scrapy fetch <url> 生成静态页面 scrapy view url scrapy 终端 scrapy shell url ### parse语法: scrapy parse <url> [options] settings: 查看设置 scrapy settings --get BOT_NAME scrapy settings --get DOWNLOAD_DELAY 运行一个spider runspider: scrapy runspider myspider.py 选择器使用: 获取title标签(第一个)下的文本 response.selector.xpath('//title/text()').extract_first() response.css('title::text').extract_first() 获取title标签(全部)下的文本 response.selector.xpath('//title/text()').extract() 获取子标签文本 <div id="images"> <a></a> </div> response.xpath('//div[@id="images"]/a/text()').extract_first() 获取属性 base标签的href属性 response.xpath('//base/@href').extract() response.css('base::attr(href)').extract() href包含image的 response.css('a[href*=image]::attr(href)').extract() response.xpath('//a[contains(@href,"image")]/@href').extract() a标签包含image的子标签img的src属性 response.xpath('//a[contains(@href,"image")]/img/@src').extract() response.css('a[href*="image"] img::attr(src)').extract() re选择器 response.xpath().re('Name:(.*)') 获取匹配 () 里面的全部, re_first()获取第一个 若是没有匹配返回None 也能够 .extract_first('自定义返回')解决中文乱码问题: scrapy crawl zymkdouluodalu -o file.json -s FEED_EXPORT_ENCODING=utf-8