d:
进入D盘
scrapy startproject tutorial
建立一个新的Scrapy项目
工程的目录结构:
tutorial/
scrapy.cfg # 部署配置文件
tutorial/ # 项目的Python模块,您将从这里导入代码
__init__.py
items.py # 项目项目定义文件
middlewares.py # 项目中间件文件
pipelines.py # 项目管道文件
settings.py # 项目设置文件
spiders/ # 一个目录,你以后会把你的爬虫放进去
__init__.py
新建quotes_spider.py:
import scrapy class QuotesSpider(scrapy.Spider): # QuotesSpider类继承scrapy.Spider类 name = "quotes" # 标识蜘蛛。它在项目中必须是唯一的,也就是说,不能为不同的蜘蛛设置相同的名称 def start_requests(self): # 必须返回Spider将开始抓取的请求的迭代(您可以返回请求列表或编写生成器函数) # 后续请求将从这些初始请求中连续生成 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): # 将被调用来处理为每个请求下载的响应的方法。 # 响应参数是TextResponse保存页面内容的一个实例,并有更多有用的方法来处理它 # 该parse()方法通常解析响应,将提取的数据提取为字符串,并查找新的URL并Request根据它们创建新的请求 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
运行爬虫
已经创建了两个新文件:quotes-1.html和quotes-2.html,以及各个URL的内容,正如我们的parse方法所指示的那样
原文地址:https://www.cnblogs.com/yjlch1016/p/9261158.html
时间: 2024-10-11 22:34:25