Scrapy是一个用于Python的开源网络爬虫框架,它提供了许多功能,使得网络爬虫的编写变得更加简单和高效。以下是Scrapy爬虫的基本用法:
-
安装Scrapy: 在命令行中输入以下命令来安装Scrapy:
pip install scrapy
-
创建一个新的Scrapy项目: 在命令行中,进入到想要创建项目的目录,然后输入以下命令:
scrapy startproject project_name
这将在当前目录下创建一个名为
project_name
的新Scrapy项目。 -
创建一个新的爬虫: 在项目目录中,输入以下命令来创建一个名为
spider_name
的新爬虫:cd project_name scrapy genspider spider_name domain.com
这将在
spiders
目录下创建一个名为spider_name.py
的新爬虫文件。 -
编写爬虫代码: 打开
spider_name.py
文件,编写爬虫代码。以下是一个简单的爬虫示例:import scrapy class SpiderNameSpider(scrapy.Spider): name = 'spider_name' allowed_domains = ['domain.com'] start_urls = ['http://domain.com/'] def parse(self, response): self.log('Visited %s' % response.url) for quote in response.css('div.quote'): item = { 'author_name': quote.css('span.text::text').extract_first(), 'author_url': quote.xpath('span/small/a/@href').extract_first(), } yield item
这个爬虫从
http://domain.com/
开始抓取,提取每个div.quote
元素中的作者名字和作者网址,并将它们作为字典返回。 -
运行爬虫: 在项目目录中,输入以下命令来运行爬虫:
scrapy crawl spider_name
这将启动爬虫并开始抓取网页。
-
保存爬取结果: Scrapy默认将爬取结果保存到
output.json
文件中。你可以通过在运行爬虫时指定-o
选项来将结果保存到其他文件中,例如:scrapy crawl spider_name -o output.csv
这将把爬取结果保存到名为
output.csv
的CSV文件中。
这只是Scrapy爬虫的基本用法,Scrapy还提供了许多高级功能,如中间件、管道、选择器等,可以根据实际需求进行扩展。