2023-04-12

Scrapy 是一个高效的 Python 网络爬虫框架,使用它可以方便地爬取网站数据。以下是一个简单的 Scrapy 教程,帮助你入门 Scrapy。

  1. 安装 Scrapy
    使用 pip 安装 Scrapy:
    pip install scrapy

  2. 创建 Scrapy 项目
    进入你要创建 Scrapy 项目的目录,执行以下命令:
    scrapy startproject myproject
    其中,myproject 是你将要创建的项目名称。

  3. 定义爬虫
    进入项目目录,并执行以下命令:
    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
  1. 执行爬虫
    在项目目录下执行以下命令:
    scrapy crawl example
    其中,example 是你要执行的爬虫名称。

  2. 存储爬取的数据
    在 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)
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容