欢迎关注天善智能,我们是专注于商业智能BI,人工智能AI,大数据分析与挖掘领域的垂直社区,学习,问答、求职一站式搞定!
对商业智能BI、大数据分析挖掘、机器学习,python,R等数据领域感兴趣的同学加微信:tstoutiao,邀请你进入数据爱好者交流群,数据爱好者们都在这儿。
作者:法纳斯特,Python爱好者,专注爬虫,数据分析及可视化
微信公众号:法纳斯特(ID: walker398)
豆瓣电影TOP250,对于众多爬虫爱好者,应该并不陌生。
很多人都会以此作为第一个练手的小项目。
当然这也多亏了豆瓣的包容,没有加以太多的反爬措施,对新手比较友好。
本期通过Scrapy框架,对豆瓣电影TOP250信息进行爬取。
同时对获取的数据进行可视化分析,给大家带来一个不一样的TOP250。
/ 01 / Scrapy
之前了解了pyspider框架的使用,但是就它而言,只能应用于一些简单的爬取。
对于反爬程度高的网站,它就显得力不从心。
那么就轮到Scrapy上场了,目前Python中使用最广泛的爬虫框架。
当然目前我学习的都是简单爬虫,上述内容都是道听途说,并不是切身体会。
Scrapy的安装相对复杂,依赖的库较多。
不过通过度娘,最后我是成功安装了的。放在C盘,如今我的C盘要爆炸。
首先任意文件夹下命令行运行scrapy startproject doubanTop250,创建一个名为doubanTop250的文件夹。
然后在文件夹下的py文件中改写程序。
进入文件夹里,命令行运行scrapy genspider douban movie.douban.com/top250。
最后会生成一个douban.py文件,Scrapy用它来从网页里抓取内容,并解析抓取结果。
最终修改程序如下。
import scrapy
from scrapy import Spider
from doubanTop250.items import Doubantop250Item
class DoubanSpider(scrapy.Spider):
name = 'douban'
allowed_domains = ['douban.com']
start_urls = ['https://movie.douban.com/top250/']
def parse(self, response):
lis = response.css('.info')
for li in lis:
item = Doubantop250Item()
# 利用CSS选择器获取信息
name = li.css('.hd span::text').extract()
title = ''.join(name)
info = li.css('p::text').extract()[1].replace('\n', '').strip()
&

本文介绍了如何使用Scrapy框架爬取豆瓣电影TOP250信息,并进行数据可视化分析,展示了电影的上映年份分布、中外电影对比、评分情况等,揭示了电影市场的某些趋势。
最低0.47元/天 解锁文章
2万+

被折叠的 条评论
为什么被折叠?



