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还提供了许多高级功能,如中间件、管道、选择器等,可以根据实际需求进行扩展。