scrapy爬虫框架入门实例
以下是一个简单的Scrapy爬虫框架入门实例,用于爬取豆瓣电影Top250的电影名称和评分:
创建Scrapy项目
在命令行中输入以下命令,创建一个名为douban的Scrapy项目:
scrapystartprojectdouban
创建Spider
在douban/spiders目录下创建一个名为douban_spider.py的文件,编写以下代码:
importscrapy
classDoubanSpider(scrapy.Spider):
name="douban"
start_urls=[
'https://movie.douban.com/top250'
]
defparse(self,response):
formovieinresponse.css('div.item'):
yield{
'title':movie.css('span.title::text').get(),
'rating':movie.css('span.rating_num::text').get()
}
next_page=response.css('span.nexta::attr(href)').get()
ifnext_pageisnotNone:
yieldresponse.follow(next_page,self.parse)
运行Spider
在命令行中进入douban目录,输入以下命令运行Spider:
scrapycrawldouban-omovies.csv
其中,-o参数指定输出文件的格式和路径,这里将结果保存为CSV文件。
4.查看结果
运行完毕后,在douban目录下会生成一个movies.csv文件,打开文件即可查看爬取到的电影名称和评分。
以上就是一个简单的Scrapy爬虫框架入门实例。需要注意的是,爬虫的编写需要遵守网站的爬虫规则,不得进行恶意爬取和攻击行为。
想要用python做爬虫,是使用scrapy框架还是用requests、bs4等库
首先说下区别scrapy框架是一个完整的爬虫框架,内部使用twisted来实现大量HTTP请求的异步,并支持xpath数据解析。虽然功能强大,但是学习曲线略微偏高。requests库是简单的HTTP请求库,上手很快,但是要配合bs4进行数据解析。而requests要实现异步请求,还要配合gevent库或者是python的协程。这些都需要自己组合,拼装。总的来说,简单的爬虫用requests+bs4可以玩。如果是大量爬虫,要精细化设计的话,还是用scrapy较好。
Python程序员用的是同样是爬虫框架,为何Scrapy深受程序猿们喜爱
用的久了,就习惯了。用的人越来越多了,就慢慢就有很多blog出来。厉害点的把英文翻译成中文,发布出来,慢慢的文章越来越多。所以scrapy就慢慢火起来了。
当然,还有另外的原因,就是他确实好用。只要脑子浆糊不多,都可以把玩一把。
祝你用的开心,能帮你达到目的。