电影中单纯而美好的爱情总是让人陷入美好无瑕的幻想。

代码已上传至个人GitHub,可供查看:获取豆瓣电影爱情片榜单封面图片

爬虫:获取豆瓣电影爱情片榜单封面图片

目的:获取豆瓣电影爱情片榜单封面图片,并保存到本地。

思路:

1、分析网页URL,查看规律

2、敲代码(图片名设置为该电影名称)

一、打开豆瓣电影分类排行榜-爱情片,F12审查元素

在向下滑动的过程中,发现如下规律,每过20张图片就出现一个url,查看URL,就可以发现一些马脚

通过对网页和URL的分析,可以得出以下结论:

  • 每过20张图片就出现一个URL,即翻页,所以每页的图片数量为20张,这在URL中也有体现:limit=20;
  • URL中的start=xx表示该页是从第几张开始的;
  • URL中的interval_id=100%3A90表示的是评价在前10%的电影;
  • URL中的type=13表示的是电影类型的代号,13指的是爱情片;
  • 在以上条件的限制下,满足要求的电影数量为351部。

二、上代码,为了防止IP被封,我使用了一些代理,并随机设置了睡眠时间,能够更有效的获取数据

from urllib import request
import json
import time
import random
class douban_love_moives():def __init__(self, k):self.k = kdef load_moive(self, start):url = 'https://movie.douban.com/j/chart/top_list?type=13&interval_id=100%3A90&action=&start=' + str(start) + '&limit=20'time.sleep(random.randint(1, 4))rsp = request.urlopen(url)json_data = json.loads(rsp.read().decode())for moive in json_data:self.k += 1time.sleep(random.randint(2, 5))try:request.urlretrieve(moive['cover_url'], 'F:\文件存放处\爱情片电影封面\\' + moive['title'] + '.jpg')print('第' + str(self.k) + '张图片下载成功:' + moive['cover_url'])except Exception:print('第' + str(self.k) + '张图片下载失败:' + moive['cover_url'])def get_moives(self):for start in range(0, 351, 20):# 使用代理步骤# - 1、设置代理地址proxys = [{'http': '39.137.69.10:8080'},{'http': '60.255.186.169:8888'},{'http': '117.191.11.108:80'}]# - 2、创建ProxyHandlerproxy = random.choice(proxys)proxy_handler = request.ProxyHandler(proxy)# - 3、创建Openeropener = request.build_opener(proxy_handler)# - 4、导入Openerrequest.install_opener(opener)self.load_moive(self.k)if __name__ == '__main__':print('开始下载图片......')moive = douban_love_moives(k=0)moive.get_moives()

运行结果:

代码已上传至个人GitHub,可供查看:获取豆瓣电影爱情片榜单封面图片

爬虫:获取豆瓣电影爱情片榜单封面图片相关推荐

  1. 豆瓣电影:TOP250榜单爬虫

    豆瓣电影 Top 250 (douban.com) #导包 import requests from bs4 import BeautifulSoup import pandas as pd 第一步: ...

  2. python爬取豆瓣电影top250并保存为xlsx_python 爬虫获取豆瓣电影排行榜前250并写入excel...

    豆瓣电影排行榜前250 分为10页,第一页的url为https://movie.douban.com/top250,但实际上应该是https://movie.douban.com/top250?sta ...

  3. 利用python爬虫获取豆瓣读书数据建立书单

    0. 写在前面 网络爬虫: A Web crawler, sometimes called a spider, is an Internet bot that systematically brows ...

  4. Python爬虫获取豆瓣电影TOP250

    最近在学python,研究了下,写了两个爬虫成功爬取了一些东西.有一个很黄很暴力,就不放出来了,还有一个比较绿色,简单,适合初学者学习,思路也比较清晰,也方便我以后再捡起来,注释写的很清楚,特把源码放 ...

  5. python豆瓣mysql_python爬虫获取豆瓣电影——Python操作MySQL存储数据

    30 May 2015 爬虫抓到的数据需要存储到MySQL中,所以我们需要熟悉下使用Python操作MySQL数据库.首先你的机器上要安装MySQLdb,MySQLdb是用于Python连接Mysql ...

  6. python豆瓣电影需研究的问题_python爬虫获取豆瓣电影——多线程问题

    25 May 2015 GIL全称Global Interpreter Lock(全局解释器锁),它是在实现Python解析器(CPython)时所引入的一个概念.但是它并不是Python的特性.Py ...

  7. python爬虫获取豆瓣图书Top250

    在上一篇博客<python爬虫获取豆瓣电影TOP250>中,小菌为大家带来了如何将豆瓣电影Top250的数据存入MySQL数据库的方法.这次的分享,小菌决定再带着大家去研究如何爬取豆瓣图片 ...

  8. xhr get获取文件流下载文件_python爬虫实战——豆瓣电影get初体验

    影评许可证 公众号[2019]第22期 本栏目由"数据皮皮侠"独家呈献 专场 python爬虫实战--豆瓣电影get初体验 2019.10.28 / 早上7点场 / 免费 本期&q ...

  9. python爬虫获取豆瓣TOP25电影名称和评分

    import requests import lxml.html myheaders = {"User-Agent": "Mozilla/5.0 (Windows NT ...

最新文章

  1. 深度学习中的Dropout简介及实现
  2. 【Qt】一个使用QEventLoop时,遇到的教训
  3. -bash: /bin/rm: Argument list too long的解决办法
  4. scala学习笔记-面向对象编程之Trait
  5. linux hexdump命令详解
  6. Visual Studio原生开发的20条调试技巧
  7. 装AJAX.NET 1.0的环境,我遇到个问题,进来解答下
  8. Latex中文字超过文本宽度时解决方法
  9. JAVA零碎要点016---java去除List中的重复数据_各种方法_随时更新
  10. php遍历多维数据库,PHP代码优化之array_column() 使用(解决循环嵌套Sql的问题)
  11. Pintech品致钳形交直流电流探头的操作步骤是什么
  12. springBoot接入阿里云oss
  13. 【线性代数之二】矩阵与行列式
  14. Ubuntu VirtualBox 安装问题解决
  15. nodejs 结合 wechaty 实现你的微信群聊机器人二(iPad 协议)
  16. 机器翻译系统,主要划分为哪几大类型?
  17. 第二十二章 : 格式化输出
  18. mssql数据库管理的简单介绍 (转 :kyle)
  19. 让 Winform 窗口悬浮的简单方式,不可思议的 TopMost 属性
  20. Path环境变量是什么?有什么用?怎么工作?JDK,JRE,JVM,集成开发工具是什么?有什么用?怎么工作?JDK安装包文件结构?有必要设置Path环境变量?Eclipse和IDEA开发工具的运作

热门文章

  1. Tendermint: Byzantine Fault Tolerance in the Age of Blockchains
  2. MATLAB算法实战应用案例精讲-【自动驾驶】SAE分级
  3. 你的医保卡最好不要这样用
  4. Java实现统计字符串中的字母和数字分别有多少个
  5. 游戏数据运营--1. 怎样做好游戏数据分析
  6. 转换文件大小size,将B转换为kb、mb、gb,计算结果保留2位小数
  7. MATLAB聚类有效性评价指标(外部)
  8. CIO40知识星球—6年总监升职VP(35-40岁)
  9. 微信小程序开放插件功能,无需重复开发!
  10. 逻辑,问题到底在哪里?