爬虫入门案例——爬取电影信息

本文介绍了如何使用PySpider框架爬取豆瓣电影的电影信息,包括电影名称、评分、剧照等。首先讲解了PySpider的安装配置,然后分析了豆瓣电影的Ajax异步加载机制,确定了数据入口URL。通过解析JSON数据,提取电影详情,并存储到本地文件夹,每个文件夹包含电影信息的TXT和剧照。文章详细阐述了爬取流程和代码实现,包括回调函数的使用和图片下载的处理。
摘要由CSDN通过智能技术生成

综述:先介绍开发环境,在介绍从豆瓣电影上面爬取电影的电影名称,电影信息,电影剧照等信息,最终效果是以电影名称为文件夹名,文件夹包含一个txt文件和许多张剧照。如下图所示1是电影名,2是电影信息,3是各种剧照

                   

1.Python爬虫框架

比较知名框架的是Scrapy 和PySpider。

PySpider 上手更简单,操作更加简便,增加了 WEB 界面,开发效率高,集成了phantomjs,可以用来处理复杂的js渲染的页面。
Scrapy 自定义程度高,比PySpider更底层一些,适合学习研究,需要学习的相关知识多,可以自己拿来研究分布式和多线程等等。

 

 

 

所以综上所述我选择的爬虫框架是PySpider。

2.PySplider安装配置

2.1 安装pip

pip是python的包管理工具,类似RedHat里面的yum,通过pip可以快速下载安装python软件隐藏了背后复杂的下载安装的过程

下载地址:下载pip安装包

2.2 安装phantomjs

phantomjs是一个浏览器内核程序,可以在爬虫开发过程中,模拟浏览器运行js,简化js处理过程

下载地址:phantomjs官网

2.3 使用pip安装pyspider

pip install pyspider

2.4 运行pyspider

pyspider all

2.5 通过浏览器访问pyspider:http://localhost:5000

3.具体代码

#!/usr/bin/env python
# -*- encoding: utf-8 -*-
# Created on 2018-11-29 15:50:57
# Project: DBDY_01

from pyspider.libs.base_handler import *
import os;

class Handler(BaseHandler):
    base_dir = "D:\\mov"
    
    crawl_config = {
    }

    @every(minutes=24 * 60)
    def on_start(self):
        self.crawl('https://movie.douban.com/j/search_subjects?type=movie&tag=%E7%BB%8F%E5%85%B8&sort=rank&page_limit=30&page_start=0',
                    validate_cert=False, 
                    callback=self.index_page)

    @config(age=10 * 24 * 60 * 60)
    def index_page(self, response):
        marr = response.json["subjects"]
        //最终数据的存储路径,经常要用到所以提取在最外面,方便使用
        for m in marr:
	        mv_id=m["id"]
            self.crawl(m["url"],
                       validate_cert=False, 
                       callback=self.mv_page,
  • 4
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值