创建第一个Scrapy项目

Posted 此生不换Yang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了创建第一个Scrapy项目相关的知识,希望对你有一定的参考价值。

d:
进入D盘

scrapy startproject tutorial
建立一个新的Scrapy项目

cd tutorial

进入项目路径

scrapy genspider quotes toscrape.com

建立一个新的爬虫

 

 

工程的目录结构:

 


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方法所指示的那样

 

以上是关于创建第一个Scrapy项目的主要内容,如果未能解决你的问题,请参考以下文章

Python爬虫之Scrapy框架系列——创建并运行你的第一个Scrapy demo项目

Python爬虫之Scrapy框架系列——创建并运行你的第一个Scrapy demo项目

手把手教你如何新建scrapy爬虫框架的第一个项目(下)

scrapy1-安装及创建第一个项目

# yyds干货盘点 # 手把手教你如何新建scrapy爬虫框架的第一个项目(上)

手把手教你如何新建scrapy爬虫框架的第一个项目(下)