以下是一个简单的Scrapy爬虫框架入门实例:
1. 首先,安装Scrapy。可以使用pip命令来安装Scrapy:pip install scrapy。
2. 创建一个新的Scrapy项目。在命令行中执行以下命令:scrapy startproject myproject,其中myproject是项目的名称。
3. 进入项目目录。在命令行中执行以下命令:cd myproject。
4. 创建一个新的Spider。在命令行中执行以下命令:scrapy genspider example example.com,其中example是Spider的名称,example.com是要爬取的网站的域名。
5. 打开生成的example.py文件,可以看到一个简单的Spider类。在该类中,可以定义如何爬取网站的规则,以及如何解析获取的数据。
6. 在Spider类中,可以定义一个start_urls列表,其中包含要爬取的起始URL。可以通过编写parse方法来处理这些URL并解析数据。
7. 在parse方法中,可以使用Scrapy提供的选择器(Selector)来提取需要的数据。例如,可以使用XPath或CSS选择器来定位并提取HTML元素。
8. 可以使用yield关键字来返回提取到的数据,Scrapy会自动将其保存到指定的文件或数据库中。
9. 运行爬虫。在命令行中执行以下命令:scrapy crawl example,其中example是Spider的名称。
10. 等待爬虫完成。Scrapy会按照Spider类中定义的规则自动爬取网站,并将数据保存到指定的位置。
这只是一个非常简单的Scrapy爬虫框架入门实例,仅介绍了最基本的用法。Scrapy还有很多功能和选项,可以根据具体需求进行配置和扩展。
以下是一个简单的Scrapy爬虫框架入门实例,用于爬取豆瓣电影Top250的电影名称和评分:
创建Scrapy项目
在命令行中输入以下命令,创建一个名为douban的Scrapy项目:
scrapy startproject douban
创建Spider
在douban/spiders目录下创建一个名为douban_spider.py的文件,编写以下代码:
import scrapy
class DoubanSpider(scrapy.Spider):
name = "douban"
start_urls = [
'https://movie.douban.com/top250'
]
def parse(self, response):
for movie in response.css('div.item'):
yield {
'title': movie.css('span.title::text').get(),
'rating': movie.css('span.rating_num::text').get()
}
next_page = response.css('span.next a::attr(href)').get()
if next_page is not None:
yield response.follow(next_page, self.parse)
运行Spider
在命令行中进入douban目录,输入以下命令运行Spider:
scrapy crawl douban -o movies.csv
其中,-o参数指定输出文件的格式和路径,这里将结果保存为CSV文件。
4. 查看结果
运行完毕后,在douban目录下会生成一个movies.csv文件,打开文件即可查看爬取到的电影名称和评分。
以上就是一个简单的Scrapy爬虫框架入门实例。需要注意的是,爬虫的编写需要遵守网站的爬虫规则,不得进行恶意爬取和攻击行为。