Scrapy爬虫实战项目【001】 - 抓取猫眼电影TOP100

爬取猫眼电影TOP100

参考来源:静觅丨崔庆才的个人博客 https://cuiqingcai.com/5534.html

目的:使用Scrapy爬取猫眼电影TOP100并保存至MONGODB数据库

目标网址:http://maoyan.com/board/4?offset=0

分析/知识点:

  1. 爬取难度:
    a. 入门级,网页结构简单,静态HTML,少量JS,不涉及AJAX;
    b. 处理分页需要用到正则;

  2. MONGODB的update语句使用:
    a. update语句:具备查重/插入新数据功能,以title为查重标准

def process_item(self, item, spider):
    self.db['movies'].update({
  'title': item['title']}, {
  '$set': item}, upsert=True) #注意upsert=True,更新并插入
    return item

实际步骤:

1) 创建Scrapy项目/maoyan(spider)

Terminal: > scrapy startproject maoyan_movie
Terminal: > scrapy genspider maoyan maoyan.com/board/4?offset=   

2) 配置settings.py文件

# MONGODB配置
MONGO_URI = 'localhost'
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是使用Scr框架爬取猫眼电影TOP100的示例代码: 1. 创建Scrapy项目 在命令行中输入以下命令创建一个名为maoyan的Scrapy项目: ``` scrapy startproject maoyan ``` 2. 创建爬虫 在命令行中进入maoyan项目目录,输入以下命令创建一个名为movies的爬虫: ``` scrapy genspider movies maoyan.com ``` 3. 编写爬虫代码 打开maoyan/spiders/movies.py文件,将以下代码复制进去: ```python import scrapy from maoyan.items import MaoyanItem class MoviesSpider(scrapy.Spider): name = 'movies' allowed_domains = ['maoyan.com'] start_urls = ['https://maoyan.com/board/4'] def parse(self, response): movies = response.xpath('//div[@class="movie-item-info"]') for movie in movies: item = MaoyanItem() item['rank'] = movie.xpath('div[@class="board-index"]/text()').get().strip() item['title'] = movie.xpath('div[@class="movie-item-info"]/p[@class="name"]/a/@title').get().strip() item['star'] = movie.xpath('div[@class="movie-item-info"]/p[@class="star"]/text()').get().strip() item['release_time'] = movie.xpath('div[@class="movie-item-info"]/p[@class="releasetime"]/text()').get().strip() yield item ``` 4. 编写Item 在maoyan目录下创建一个名为items.py的文件,将以下代码复制进去: ```python import scrapy class MaoyanItem(scrapy.Item): rank = scrapy.Field() title = scrapy.Field() star = scrapy.Field() release_time = scrapy.Field() ``` 5. 运行爬虫 在命令行中进入maoyan目录,输入以下命令运行爬虫: ``` scrapy crawl movies -o movies.csv ``` 6. 查看结果 在maoyan目录下会生成一个名为movies.csv的文件,里面包含了猫眼电影TOP100的排行信息。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值