一个开源且协作的框架,用于从网站中提取您需要的数据。

以快速、简单且可扩展的方式。

Zyte许多其他贡献者 维护

安装最新版本的 Scrapy

Scrapy 2.12.0

pip install scrapy

终端

 pip install scrapy
 cat > myspider.py <<EOF
import scrapy

class BlogSpider(scrapy.Spider):
    name = 'blogspider'
    start_urls = ['https://www.zyte.com/blog/']

    def parse(self, response):
        for title in response.css('.oxy-post-title'):
            yield {'title': title.css('::text').get()}

        for next_page in response.css('a.next'):
            yield response.follow(next_page, self.parse)
EOF scrapy runspider myspider.py

构建并运行您的
网络爬虫

终端

 pip install shub
 shub login
Insert your Zyte Scrapy Cloud API Key: <API_KEY>

# Deploy the spider to Zyte Scrapy Cloud
 shub deploy

# Schedule the spider for execution
 shub schedule blogspider 
Spider blogspider scheduled, watch it running here:
https://app.zyte.com/p/26731/job/1/8

# Retrieve the scraped data
 shub items 26731/1/8
{"title": "Improved Frontera: Web Crawling at Scale with Python 3 Support"}
{"title": "How to Crawl the Web Politely with Scrapy"}
...

部署到
Zyte Scrapy Cloud

或使用 Scrapyd 在您自己的服务器上托管爬虫

快速而强大

编写提取数据的规则,让 Scrapy 完成其余工作

易于扩展

设计上可扩展,可以轻松地插入新功能,而无需触及核心

可移植,Python

用 Python 编写,可在 Linux、Windows、Mac 和 BSD 上运行

活跃的社区

  • - 在 GitHub 上拥有 43,100 个星标、9,600 个 Fork 和 1,800 个关注者
  • - 在 Twitter 上拥有 5,500 个关注者
  • - 在 StackOverflow 上拥有 18,000 个问题