Scrapy爬取1908电影网电影数据

Scrapy爬取1908电影网电影数据

最初是打算直接从豆瓣上爬电影数据的,但编写完一直出现403错误,查了查是豆瓣反爬虫导致了,加了headers也还是一直出现错误,无奈只能转战1908电影网了。
爬取数据是为了构建电影知识图谱的。而1908电影网的电影数据确实比豆瓣少太多,尤其是电影评论这块,所以需要数据全的童鞋们还是继续啃豆瓣吧。。
直接上代码,
items.py文件下

import scrapy


class Movie1905Item(scrapy.Item):
    # define the fields for your item here like:
    # name = scrapy.Field()
    #电影名称
    movie_name=scrapy.Field()
    #评分
    rating=scrapy.Field()
    #海报
    #post=scrapy.Field()
    #上映日期
    date=scrapy.Field()
    #类型
    genre=scrapy.Field()
    #时长
    time=scrapy.Field()
    #导演
    director=scrapy.Field()
    #剧情
    story=scrapy.Field()
    pass

之后在spider文件下创建1908movie.py

from scrapy import Request
from scrapy.spiders import Spider
from pymovie.items import Movie1905Item

class movie1908(Spider):
    name='1908movies_china'
    headers={
             'User-Agent':'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_3) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.54 Safari/536.5',
            }
    url='http://www.1905.com/mdb/film/list/country-China/o0d0p1.html'
    def start_requests(self):
        basic_url='http://www.1905.com/mdb/film/list/country-China/o0d0p%s.html'        
        start,end=0,220
        for i in range(start,end):
            url=basic_url.replace("%s",str(i))
            yield Request(url,headers=self.headers)           

    def parse(self,response):
        urls=response.xpath('.//ul[@class="inqList pt18"]/li/a/@href').extract()
        for url in urls:
            url="http://www.1905.com"+url
            yield Request(url,self.parse_movie)
    def parse_movie(self,response):
        item=Movie1905Item()
        imovie=response.xpath('//div[@class="body"]')
        item['movie_name']=imovie.xpath('.//div[@class="container containerTop"]/div[2]/h1/text()').extract()
        item['rating']=imovie.xpath('.//div[@class="container containerTop"]/div[2]/h1/span[@class="score"]/b/text()').extract()
        item['date']=imovie.xpath('.//div[@class="container containerTop"]/div[2]/div[1]/span[1]/text()').extract()
        item['genre']=imovie.xpath('.//div[@class="container containerTop"]/div[2]/div[1]/span[2]/a[1]/text()').extract()
        item['time']=imovie.xpath('.//div[@class="container containerTop"]/div[2]/div[1]/span[4]/text()').extract()
        item['director']=imovie.xpath('.//div[@class="container containerTop"]/div[2]/div[2]/a[1]/@title').extract()
        item['story']=imovie.xpath('.//div[@class="container containerMain"]/div[1]/section/div/p/text()').extract()
        yield item

最后在cmd内进入同scrapy.cfg同一级目录中,输入

scrapy crawl 1908movies_china movie.csv

得到的movie.csv如图
这里写图片描述

参考博客
http://www.2cto.com/kf/201604/501764.html
http://www.cnblogs.com/mrchige/p/6481194.html

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
详细功能列举: <br> 1.实时显示哪在用户在线,会员关闭网页自动退出功能,可显示用户采用什么浏览器和操作系统,彻底杜绝一帐号多用户使用 <br> 2.增加了网站投票功能 <br> 3.采用双网站联盟,用户可以选择介绍客户赚佣金或介绍客户赚看片资源。 <br> 4.扣点功能,每一部影片站长可以按照他的价值设定需要扣取的点数 <br> 5.后台增加网吧IP功能,在该网吧上网的用户可以免注册免付费看电影 <br> 6.使用充值卡的用户无需要注册激活充值卡后就可以使用 <br> 7.用户自助赚点功能,用户注册后可以获取一段代码,可以对电影网站进行宣传.每带来一个用户访问宣传用户就可以获得(1点[扣点用户]/0.2天[包月用户或游客]) <br> 8.来路分析,可以看到网民是从哪个网站来的,或看到该网民是由哪个用户宣传带来的. <br> 9.IP限制,被限制的ip将无法访问 <br> 10.黄金通道,只有黄金会员以上级别才可以进入。 <br> 11.后台管理员密码采用md5加密,极大地保护了后台的安全 <br> 12.会员密码采用md5加密,极大地保护了会员的安全 <br> 13.数据库采用在线管理 <br> 14.改变了局部一些使用不方便的功能 <br> 15.在线支付、手机支付、声讯支付功能,会员付费后自动开通到期自动封帐号,程序会自动跟据会员付多少钱而给会员定相应的级别和相应的观看时间,会员到期程序自动封锁帐号。 <br> 16.采用ACCESS2002数据库和ACCESS2000数据库两种任君选择,我们制作的数据库非常安全是无法被非法下载的请君放心。 <br> 17.修正了一些漏洞(彻底跟黄金眼说拜拜) <br> 18.多级管理员操作,演员搜索 <br> 19.下载地址和在线地址实现分离 <br> 20.观看电影记录,会员可以查看自己过去观看过多少部电影电影名称、观看电影时间),会员报告影片错误功能。 <br> 21.管理员可以在后台查看各个会员的观看记录,可以根据会员看不同电影的时间、会员的ip地址,判断会员是否有盗链。 <br> 22.管理员在后台可随时改变会员等级,实行会员分类管理。 <br> 23.电影可以设置为免费电影、普通电影、黄金电影。 <br> 24.隐藏影片地址功能,彻底防盗链。 25.内置1st-pay在线支付功能,用户只需在后台设置好1st-pay的用户名及返回URL即可使用,无需修改程序。支付成功返回的URL是user/payok.asp 后台地址:admin/login.asp 管理账号:163dy/163dy
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值