Scrapy 是一个高效的 Python 网络爬虫框架,使用它可以方便地爬取网站数据。以下是一个简单的 Scrapy 教程,帮助你入门 Scrapy。
安装 Scrapy
使用 pip 安装 Scrapy:
pip install scrapy
创建 Scrapy 项目
进入你要创建 Scrapy 项目的目录,执行以下命令:
scrapy startproject myproject
其中,myproject 是你将要创建的项目名称。定义爬虫
进入项目目录,并执行以下命令:
scrapy genspider example example.com
其中,example 是你将要创建的爬虫名称,http://example.com 是你要爬取的域名。
编辑生成的 example.py 文件,定义爬虫的规则和解析方法。比如:
import scrapy
class ExampleSpider(scrapy.Spider):
name = "example"
allowed_domains = ["example.com"]
start_urls = [
"http://www.example.com",
]
def parse(self, response):
# 在这里定义解析方法
pass
执行爬虫
在项目目录下执行以下命令:
scrapy crawl example
其中,example 是你要执行的爬虫名称。存储爬取的数据
在 parse 方法中,解析网页数据并存储。
比如,将获取的数据存储为 CSV 格式:
import scrapy
import csv
class ExampleSpider(scrapy.Spider):
name = "example"
allowed_domains = ["example.com"]
start_urls = [
"http://www.example.com",
]
def parse(self, response):
items = []
# 在这里定义解析方法
for data in mydata:
item = {}
item['field1'] = data['field1']
item['field2'] = data['field2']
items.append(item)
# 保存数据到 CSV 文件
with open('data.csv', mode='a') as csv_file:
fieldnames = ['field1', 'field2']
writer = csv.DictWriter(csv_file, fieldnames=fieldnames)
writer.writeheader()
for item in items:
writer.writerow(item)