使用srapy框架实现豆瓣电影的抓取

1.新建一个项目

scrapy startproject doubanspider

2.编写电影信息item类

3.编写spider类

# -*- coding: utf-8 -*-

from scrapy import Request
from scrapy.spiders import Spider
from doubanspider.items import DoubanMovieItem

class DoubanMovieTop250Spider(Spider):
    name = ‘douban_movie‘
    headers = {
        ‘User-Agent‘: ‘Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36‘,
    }

    def start_requests(self):
        url = ‘https://movie.douban.com/top250‘
        yield Request(url,headers=self.headers)

    def parse(self,response):
        item  = DoubanMovieItem()
        movies = response.xpath(‘//ol[@class="grid_view"]/li‘)
        for movie in movies:
            item[‘ranking‘]=movie.xpath(‘.//div[@class="pic"]/em/text()‘).extract()[0]
            item[‘movie_name‘]= movie.xpath(‘.//div[@class="hd"]/a/span[1]/text()‘).extract()[0]
            item[‘score‘] = movie.xpath(‘.//div[@class="star"]/span[@class="rating_num"]/text()‘).extract()[0]
            item[‘score_num‘] = movie.xpath(‘.//div[@class="star"]/span/text()‘).re(ur‘(\d+)人评价‘)[0]
            yield item

        next_url = response.xpath(‘//span[@class="next"]/a/@href‘).extract()
        if next_url:
            next_url=‘https://movie.douban.com/top250‘+next_url[0]
            yield Request(next_url,headers=self.headers)

4.运行结果

一会就结束了

在csv中查看(需要先在Notepad++里打开csv文件,以utf-8编码保存,不然会出现中文乱码)

时间: 2025-01-11 05:04:56

使用srapy框架实现豆瓣电影的抓取的相关文章

Java豆瓣电影爬虫——抓取电影详情和电影短评数据

一直想做个这样的爬虫:定制自己的种子,爬取想要的数据,做点力所能及的小分析.正好,这段时间宝宝出生,一边陪宝宝和宝妈,一边把自己做的这个豆瓣电影爬虫的数据采集部分跑起来.现在做一个概要的介绍和演示. 动机 采集豆瓣电影数据包括电影详情页数据和电影的短评数据. 电影详情页如下图所示 需要保存这些详情字段如导演.编剧.演员等还有图中右下方的标签. 短评页面如下图所示 需要保存的字段有短评所属的电影名称,每条评论的详细信息如评论人名称.评论内容等. 数据库设计 有了如上的需求,需要设计表,其实很简单,

豆瓣影评数据抓取与简要分析

数据格式:cmt_id: 影评ID编号, 主键cmt_cont: 未切割影评数据(原始影评数据)cmt_star: 评分(星数)cmt_time: 发布时间cmt_user: 发布者urlcmt_thumbs: 评论点赞数 评论星数评论星数在html网页dom结构中对应的标签:<span class="allstar20 rating" title="较差"></span>星数的映射关系为: 1颗星:很差 2颗星:较差 3颗星:还行 4颗星:

实例练习----电影天堂抓取下载链接

废话不多说,直接上代码: package com.sysker.util; import java.io.BufferedWriter; import java.io.FileWriter; import java.io.IOException; import java.util.Date; import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import org.jsoup.nodes.Element; import org.jso

scrapy框架【全栈/深度抓取】

五大核心组件 - 引擎(Scrapy) 用来处理整个系统的数据流处理, 触发事务(框架核心) - 调度器(Scheduler) 用来接受引擎发过来的请求, 压入队列中, 并在引擎再次请求的时候返回. 可以想像成一个URL(抓取网页的网址或者说是链接)的优先队列, 由它来决定下一个要抓取的网址是什么, 同时去除重复的网址 - 下载器(Downloader) 用于下载网页内容, 并将网页内容返回给蜘蛛(Scrapy下载器是建立在twisted这个高效的异步模型上的) - 爬虫(Spiders) 爬虫

requests 之豆瓣电影排行榜爬取

import json import requests if __name__ == '__main__': url = 'https://movie.douban.com/j/chart/top_list' param = { 'type': '24', 'interval_id': '100:90', 'action':'', 'start':'0', # 从库中的第几部电影中去取 'limit': '20' # 一次取得个数 } headers = { 'User-Agent': 'Moz

豆瓣电影简易爬取

#coding=utf-8 import urllib2 from HTMLParser import HTMLParser class HttpParser(HTMLParser): def __init__(self): HTMLParser.__init__(self) self.move=[] def handle_starttag(self,tag,attrs): def _attr(attrlist,attrname): for attr in attrlist: if attr[0

Python自定义豆瓣电影种类,排行,点评的爬取与存储(进阶)

Python 2.7 IDE Pycharm 5.0.3 具体Selenium及PhantomJS请看Python+Selenium+PIL+Tesseract真正自动识别验证码进行一键登录 一些自动化应用实例请看Selenium+PhantomJS自动续借图书馆书籍 至于GUI的入门使用请看Python基于Tkinter的二输入规则器(乞丐版) 比较综合的GUI例子请看基于Python的参考文献生成器1.0 想了想,还是稍微人性化一点,做个成品GUI出来 起因 没办法,在知乎预告了要做个GUI

Scrapy 豆瓣电影爬虫

本篇主要介绍通过scrapy 框架来豆瓣电影 下面我简单总结一下Scrapy爬虫过程: 1.在Item中定义自己要抓取的数据: 2.编辑在spiders目录下DoubanSpider文件 3.编辑pipelines.py文件,可以通过它将保存在MoveScrapyPipeline中的内容写入到数据库或者文件中

豆瓣电影小爬虫

很早前就想用 Golang 写点"实用的"东西,兴趣不是目的,学总归要致用.而<Go语言圣经>中有一些例子比较有实际意义,譬如爬虫. 刚好我对电影还比较有兴趣,且习惯性地在下或看某部电影前都会去豆瓣看看评分,所以我想,何不撸个小爬虫,来遍历豆瓣的所有电影页面以采集电影信息并按评分由高到低来排个序看看有哪些高评分电影我还没看过呢? 趁自己不瞎忙,索性撸起来. 代码实现基本上还是参考圣经里的那套.而作为爬虫,自然免不了要引入 goquery 这样的三方库,只是我还不熟 jQue