id97下电影

我们本次要爬取的网站:http://www.id97.com/movie

1、打开终端:scrapy startproject movieprject

2、scrapy genspider movie

形成的目录结构如下:

3、setting里面设置
第19行:

USER_AGENT = 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.181 Safari/537.36'

第22行:

ROBOTSTXT_OBEY = False

第67-69行:

ITEM_PIPELINES = {'movieproject.pipelines.MovieprojectPipeline': 300,
}

4、items数据
获取第一个页面的数据:
海报
名字
豆瓣评分
电影类型(什么类型)
第二个页面的数据:
导演
编剧
代码如下:

import scrapyclass MovieprojectItem(scrapy.Item):# define the fields for your item here like:# 电影海报post = scrapy.Field()# 电影名字name = scrapy.Field()# 豆瓣评分score = scrapy.Field()# 电影类型_type = scrapy.Field()# 导演director = scrapy.Field()# 编剧editor = scrapy.Field()# 主演actor = scrapy.Field()# 片长long_time = scrapy.Field()# 介绍introduce = scrapy.Field()# 下载链接# download_url = scrapy.Field()

5、movie.py
def parse()
首先找到所有的div
遍历div依次找到每一个信息
①创建一个item
②获取海报
③获取电影的名字(在图片里面有名字)
④获取评分的xpath路径,把空格与-干掉
⑤获取类型(在第4天讲过拼接两个类型,会把一个div里面的内容拼接到一起)
还有其他信息、要去下一页获取
①获取详细页面链接:
②向详情页发送请求yield ,通过meta将item传递给下面的函数:meta={‘键随便指定’,‘传递的直为item’}
def parse_detail()
①通过request怎么传递item
item=response.meta['item']
②获取导演信息,用response.xpath获取
③获取编制
④获取演员(空格去掉)
⑤片长 long_time
⑥电影介绍
yield item
代码如下:

def parse_detail(self, response):# 通过response的meta属性,获取到参数itemitem = response.meta['item']item['director'] = response.xpath('//div[@class="col-xs-8"]/table/tbody/tr[1]/td[2]/a/text()').extract_first()item['editor'] = response.xpath('//div[@class="col-xs-8"]/table/tbody/tr[2]/td[2]/a/text()').extract_first()# '张静初 / 龙品旭 / 黎兆丰 / 王同辉 / 张国强 / 叶婉娴 / 丽娜 / 吴海燕 / 吴若林 / 喻引娣 显示全部'item['actor'] = response.xpath('//div[@class="col-xs-8"]/table/tbody/tr[3]/td[2]').xpath('string(.)').extract_first().replace(' ', '').replace('显示全部', '')# 片长 lala = response.xpath('//div[@class="col-xs-8"]/table/tbody/tr[8]/td[2]/text()').extract_first()if lala and ('分钟' in lala):item['long_time'] = lalaelse:item['long_time'] = ''# 电影介绍item['introduce'] = response.xpath('//div[@class="col-xs-12 movie-introduce"]').xpath('string(.)').extract_first().replace('\u3000', '').replace('展开全部', '')# 电影链接# item['download_url'] = response.xpath('')yield item

看到下面的东西、证明爬取成功了:

最后会生成这么一个文件~

注意:因为本网站找不到迅雷下载的网址,所以无法实现下载,如果有学习者能够找到办法。望告知!谢谢!

scrapy爬虫入门:爬取《id97》电影相关推荐

  1. python爬取豆瓣电影信息_Python爬虫入门 | 爬取豆瓣电影信息

    这是一个适用于小白的Python爬虫免费教学课程,只有7节,让零基础的你初步了解爬虫,跟着课程内容能自己爬取资源.看着文章,打开电脑动手实践,平均45分钟就能学完一节,如果你愿意,今天内你就可以迈入爬 ...

  2. python爬虫电影信息_Python爬虫入门 | 爬取豆瓣电影信息

    这是一个适用于小白的Python爬虫免费教学课程,只有7节,让零基础的你初步了解爬虫,跟着课程内容能自己爬取资源.看着文章,打开电脑动手实践,平均45分钟就能学完一节,如果你愿意,今天内你就可以迈入爬 ...

  3. Python 采用Scrapy爬虫框架爬取豆瓣电影top250

    scrapy 简介 在此,默认已经安装好Scrapy,如果没有安装可以到scrapy 官网下载安装. 注意: 在安装Scrapy之前首先需要安装一下python第三方库:(安装方法并不在本文讲解范围, ...

  4. Scrapy 爬虫实战-爬取字幕库

    Scrapy 爬虫实战-爬取字幕库 1.首先,创建Scrapy框架 创建工程 scrapy startproject zimuku创建爬虫程序 cd zimuku scrapy genspider z ...

  5. python爬取豆瓣电影top250_用Python爬虫实现爬取豆瓣电影Top250

    用Python爬虫实现爬取豆瓣电影Top250 #爬取 豆瓣电影Top250 #250个电影 ,分为10个页显示,1页有25个电影 import urllib.request from bs4 imp ...

  6. 爬虫,爬取猫眼电影Top100的电影名与评分

    ** 爬虫,爬取猫眼电影Top100的电影名与评分 ** import requests import threading import reclass maoyan_top500(threading ...

  7. python战反爬虫:爬取猫眼电影数据 (一)(Requests, BeautifulSoup, MySQLdb,re等库)

    姓名:隋顺意 博客:Sui_da_xia 微信名:世界上的霸主 本篇文章未涉及猫眼反爬,主要介绍爬取无反爬内容,战反爬内容请去 python战反爬虫:爬取猫眼电影数据 (二)(Requests, Be ...

  8. python战反爬虫:爬取猫眼电影数据 (二)(Requests, BeautifulSoup, MySQLdb,re等库)

    姓名:隋顺意 博客:Sui_da_xia 微信名:世界上的霸主 本文主要介绍破解反爬,可以先去上一篇观看爬取无反爬内容 python战反爬虫:爬取猫眼电影数据 (一)(Requests, Beauti ...

  9. Python Scrapy爬虫框架爬取51job职位信息并保存至数据库

    Python Scrapy爬虫框架爬取51job职位信息并保存至数据库 -------------------------------- 版权声明:本文为CSDN博主「杠精运动员」的原创文章,遵循CC ...

  10. python战反爬虫:爬取猫眼电影数据 (一)

    非常荣幸邀请到 赛迪人工智能大赛(简称AI世青赛)全球总决赛银奖的获得者 隋顺意 小朋友为本公众号投稿,隋小朋友虽然小小年纪,但编程能力已经比大多数大学生强非常多了,欢迎大家关注,捧场. 姓名:隋顺意 ...

最新文章

  1. golang error信息 转 字符串 x := fmt.Sprintf(“%s“, err)
  2. 四招避免SEO优化过度
  3. python计算两个数乘积_如何用PYTHON使两个数字总和变成乘积
  4. 【转】C#检查键盘大小写锁定状态的方法
  5. 外设驱动库开发笔记39:按键操作驱动
  6. 非关系型数据库--MongoDB
  7. JAVA基础学习day25--Socket基础二-多线程
  8. 如何将GridViewEX升级到UWP(Universal Windows Platform)平台
  9. mybatis xml中大于、小于、if else的写法
  10. Java实现word转HTML
  11. nb信号和4g信号_工业级NB-IoT和4G DTU区别分析
  12. 地月距离竟然如此遥远
  13. 查看网页最后修改时间方法以及原理简介
  14. Android之APP跳转到权限设置界面适配华为、小米、vivo等
  15. 【Linux系统达梦数据库软件安装】
  16. 这10个学习资源网站,一年能帮你省下几十万的学费
  17. 文件储存器 - IP通讯技术
  18. window自带的常见工具
  19. CSS浮动/常见网页布局/清除浮动/学成在线案例
  20. 当Proteus 8 Professional运行程序的时候出现有些器件不可用

热门文章

  1. 74160ENT引脚设计法+同步置数法接成60进制加法计数电路(设计方案2)
  2. 微信小打卡,微信小打卡上打卡方法,被微信推荐的打卡小程序CSS margin(外边距)
  3. 对Simulink模型进行保护的方法
  4. 利用决策树学习基金持仓并识别公司风格类型
  5. 智能门锁怎么选(3)
  6. 2021年安全员-A证考试题库及安全员-A证报名考试
  7. 物流一站式单号查询之快递鸟API接口(附Demo源码)
  8. 403 Forbidden vs 401 Unauthorized HTTP 响应
  9. 大治河西枢纽二线船闸总体设计(水利设计资料)
  10. 【以太网硬件七】扰码和mBnB有什么区别和相同点?