今天开始学习记录一下scrapy,看的是scrapy 1.3.3的文档。里面说不支持windows上的python3,但是目前没感觉到哪里不支持,这里记录下一些简单的操作吧。文档上说推荐在virtualenv(虚拟环境下)安装python,大家可以试试。
1、创建scrapy项目 scrapy startproject tutorial
生成后的项目列表
我们很多工作就是在spiders下定义我们自己spider,每个spider负责要爬取的url、内容、解析、存储等工作。
例子 我新建了一个spider 名字叫做 quotes
import scrapy
class QuotesSpider(scrapy.Spider):
name = "quotes"
def start_requests(self):
urls=[
'http://quotes.toscrape.com/page/1/',
'http://quotes.toscrape.com/page/2/',
]
for url in urls:
yield scrapy.Request(url=url,callback=self.parse)
def parse(self, response):
page = response.url.split("/")[-2]
filename = 'quotes-%s.html' %page
with open(filename,'wb')as f:
f.write(response.body)
self.log('Saved file %s' %filename)
在控制台执行 scrapy crawl quotes即可以执行该爬虫了
如果scrapy安装成功的话,应该在跟目录下生成两个html文件。
ps:因为安装原因我报了一个 ImportError: No module named 'win32api'错误,我以为没有安装win32api这个三方插件,经过考察发现是没有安装pywin32这个包。网上搜了一下点击打开链接 这个下载地址亲测有效。
ps:如果执行命令行 scrapy crawl ***结果说没有crawl命令,说明很可能你没有进入该目录下执行命令行。