总结了一下两年前学习Python爬虫写的一个小程序,发现程序已经无法运行,在调试更新后终于能够再次运行。

先看一下运行效果和能拿到的数据

爬取电影海报到本地截图:

爬取电影数据截图:

基本思路和运行方法

时光网没有做太多的反爬虫策略,也没有太多的动态代码生成,无论是图片URL还是电影数据,还是比较容易拿到的。

使用框架和数据库:scrapy + MongoDB

测试环境:MacOS+python3

基本思路:

先找到一个电影的URL连接,发现是域名加上一个id。比如"http://movie.mtime.com/31889/", 但是通过测试我们发现这个id并不是从0开始的一个连续id,因此我们在设定了一个其实和结束id之后,需要再代码里面处理返回页面为空的情况。

for num in range(40000, 50000):

start_urls.append("http://movie.mtime.com/{0}/".format(num))

要注意如果间隔数目过大的话,爬取时间可能需要很久

此爬虫分成两个小爬虫:

数据爬虫(mtime):

拿到一部电影的标题之后,简单的把电影年份和名字存入本地的MongoDB数据库

图片爬虫(mPicture):

对scrapy自带的图片爬虫进行了简单的重写,下载过程中会对保存图片生成一个唯一的hash id最为图片名字, 这样可以避免图片重复下载,因为scrapy自带的多线程下载机制,下载过程可能会把带宽占满,根据自己机器和网络配置适当设置线程数目。因为是抓取一个页面所有图片然后通过图片尺寸进行筛选,所以有些图片不一定是海报图片。

项目源码:https://github.com/Danielyan86/Movie-scrapy​github.com

python怎么爬取电影海报_Python3 爬取时光网电影海报和电影数据相关推荐

  1. python爬电影排名用os bs4_python使用BeautifulSoup与正则表达式爬取时光网不同地区top100电影并对比...

    前言 还有一年多就要毕业了,不准备考研的我要着手准备找实习及工作了,所以一直没有更新. 因为Python是自学不久,发现很久不用的话以前学过的很多方法就忘了,今天打算使用简单的BeautifulSou ...

  2. python最简单的爬取邮箱地址_python3爬取网页中的邮箱地址

    1.爬虫分析 分析结果对: http://xxx.com?method=getrequest&gesnum=00000001 http://xxx.com?method=getrequest& ...

  3. python英雄联盟脚本是什么_Python3爬取英雄联盟英雄皮肤大图实例代码

    爬虫思路 初步尝试 我先查看了network,并没有发现有可用的API:然后又用bs4去分析英雄列表页,但是请求到html里面,并没有英雄列表,在英雄列表的节点上,只有"正在加载中" ...

  4. python和c 情侣网名_Python3 爬取网站收藏数超过70的 情侣网名

    [Python] 纯文本查看 复制代码# coding=utf-8 # python 3.7 import urllib.request,urllib.error import re import t ...

  5. python 爬取百度知道_python3爬取百度知道的问答并存入数据库(MySQL)

    一.链接分析: 以"Linux"为搜索的关键字为例: 首页的链接为:https://zhidao.baidu.com/search?lm=0&rn=10&pn=0& ...

  6. python中求差的函数_python3函数取差是什么?如何写代码?

    我们在数学中进行加减运算,两个数相减就可以得到差.今天小编就带来一个新问题,函数取差.有的小伙伴会很困惑,函数是一群英文使用,又不是数字怎么还能进行取差呢?这里也算是学习python有趣的地方,函数取 ...

  7. python写excel标记文字颜色_python3使用xlwt时写入文档字体颜色和边框样式

    转自:https://www.cnblogs.com/xiaodingdong/p/8012282.html 可借鉴的网址:https://www.programcreek.com/python/ex ...

  8. Python+Neo4j构建时光网TOP100电影知识图谱

    Python+Neo4j构建时光网TOP100电影知识图谱 环境 1.Neo4j 3.5.6(2019年6月25日) 2.Java 1.8.0_181 3.Annaconda 3 一.准备工作 Neo ...

  9. python自动爬取更新电影网站_python爬取电影网站信息

    一.爬取前提 1)本地安装了mysql数据库 5.6版本 2)安装了Python 2.7 二.爬取内容 电影名称.电影简介.电影图片.电影下载链接 三.爬取逻辑 1)进入电影网列表页, 针对列表的ht ...

  10. 请访问豆瓣电影网站,爬取4~10部电影信息(电影名、导 演、演员、海报url链接,预报片视频链接),并结合GUI界面展现电影信息,并可以根据选择的电影名, 下载指定预告片视频到本地并显示预告片。GUI

    请访问豆瓣电影网站,爬取4~10部电影信息(电影名.导 演.演员.海报url链接,预报片视频链接),并结合GUI界面展现电影信息,并可以根据选择的电影名, 下载指定预告片视频到本地并显示预告片.GUI ...

最新文章

  1. 顺德机器人应用与维修专业收入_保定万维科技技校专业课程巡礼——计算机应用与维修...
  2. php构造数组,并把多数组插入php文件
  3. 利用Arena Allocation避免HBase触发Full GC
  4. ARMs3c2440开发板挂接NFS服务
  5. SpringBoot Cache 深入
  6. linux远程关机程序,木马中如何编程实现远程关机(VC版)
  7. 华硕笔记本 FX50J 触控板驱动
  8. 2022蓝桥杯java
  9. 小程序开发之AppID获取
  10. PTA 硬币找钱问题
  11. 实现ISA2004的WPAD(自动发现功能)
  12. 中公教育python教师_为什么中公教育、华图的老师不自己去考公务员?
  13. CUDA编程:矩阵乘运算从CPU到GPU
  14. CityMaker学习教程11 创建和移动标签
  15. 11. Container With Most Wate
  16. 今天看到一篇文章,摘抄几句。愿,与君共勉!
  17. 其实,APP文案还可以这样写·····
  18. 英语语法汇总(10.被动语态)
  19. c语言 任意自然数的分解加法,第三章 1. 代数系,自然数,整数,有理数,实数,复数...
  20. 【OpenCV 例程 300篇】252.视频文件的读取与保存

热门文章

  1. Excel2003和Excel2007的区别
  2. 最全最新cpu显卡天梯图_2019桌面级显卡排行_2019年2月最新CPU天梯图 桌面级处理器天梯图...
  3. matlab 声明gpu,使用MATLAB轻松享受GPU的强大功能
  4. drop与delete的区别
  5. [收藏]31部黑客电影
  6. 华硕x450jn拆机_华硕笔记本电脑X450JB拆卸并安装固态驱动器
  7. 贪心——国际象棋锦标赛
  8. 确定你的台式计算机支持的内存类型,如何区分内存类型及查看内存的兼容性
  9. 微信扫码/链接下载APK包, 自定义引导页,引导在外部浏览器打开
  10. JRuby: Wiki: RailsWithH2InJNDIOnJetty — Project Kenai