打开豆瓣电影url:https://movie.douban.com/
找到真正存储信息的url:https://movie.douban.com/j/search_subjects?type=movie&tag=热门&page_limit=50&page_start=0
在上篇文章中已经说了怎么去找动态网站的真实存储数据的url就不多说了

打开网址

我们这次就需要这些信息
#!/usr/bin/env python

-- coding: utf-8 --

@Time : 2019/6/10 22:35

@Site :

@File : doubantest.py

@Software: PyCharm

import re
import requests
from requests import RequestException
from demo01.util import buid_proxy
from urllib.parse import urlencode
import json
import os
proxies=buid_proxy()
headers={
“User-Agent”:“Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36”,
“Referer”:“https://movie.douban.com/”
}

def get_one_page():
#构造真实url
paramete = {
‘type’: ‘movie’,
‘tag’: ‘热门’,
‘page_limit’: ‘50’,
‘page_start’: 0
}
url='https://movie.douban.com/j/search_subjects?’+urlencode(paramete)
#print(url)#最好打印一下,自己构造是否正确
try:
res=requests.get(url,headers=headers,proxies=proxies)
if res.status_code==200:
html=res.text
html=json.loads(html)#

        return htmlreturn None
except RequestException:return None

def parse_one_page(data):
if data and ‘subjects’ in data.keys():#真实的url是一个大字典,subjects是这个字典key值,我们需要的数据都是这个value
# print(data)
if data !=None:#因为我迭代的时候出现空值,空值不能被迭代,会一直报错
for item in data.get(‘subjects’):
#print(item)
movie_id=item.get(‘id’)
title=item.get(‘title’)
movie_url=item.get(‘url’)
img_url=item.get(‘cover’)
move_info={#
“movie_id”:movie_id,
“movie_name”:title,
“movie_url”:movie_url,
“img_url”:img_url
}

        # print(move_info)return move_info

def save_to_file(content):

def save_img_to_file(data):
path=‘E:/test001/photo/douban/’
if data and ‘subjects’ in data.keys():
# print(data)
if data != None:
for item in data.get(‘subjects’):
# print(item)
title = item.get(‘title’)
img_url = item.get(‘cover’)
print(title,img_url)
img_path=path+title+’.jpg’#构造img存储地址
response=requests.get(url=img_url,proxies=proxies)
#这里表明一下,这个地方一定要这样写不然后会一直报各种错误,例如乱码,json格式错误,或者需要自己类型啊
content=response.text
content=content.encode(encoding=‘utf-8’)
with open(img_path,‘wb’) as f:
f.write(content)

                f.close()

def main():
data=get_one_page()
# print(data)
parse_one_page(data)
cont=save_img_to_file(data)
print(cont)

if name==‘main’:
main()

如何抓取豆瓣网电影海报信息及重命名相关推荐

  1. 003.[python学习] 简单抓取豆瓣网电影信息程序

    003.[python学习] 简单抓取豆瓣网电影信息程序 声明:本程序仅用于学习爬网页数据,不可用于其它用途. 本程序仍有很多不足之处,请读者不吝赐教. 依赖:本程序依赖BeautifulSoup4和 ...

  2. python异步协程,抓取豆瓣top250电影海报。

    # 利用正则及异步协程 爬取豆瓣top250电影图片 # author:xyislove # 欢迎各位大神修改指导 from asyncio import tasks import re from f ...

  3. python 豆瓣评论分析方法_使用python抓取豆瓣top250电影数据进行分析

    抓取豆瓣Top250电影数据的链接和电影名称 代码如下: import urllib.request as urlrequest from bs4 import BeautifulSoup impor ...

  4. 数据分析与挖掘案例之使用python抓取豆瓣top250电影数据进行分析

    使用python抓取豆瓣top250电影数据进行分析 抓取豆瓣Top250电影数据的链接和电影名称 代码如下: import urllib.request as urlrequest from bs4 ...

  5. 抓取豆瓣的电影排行榜TOP100

    1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 """ 4 一个简单的Python爬虫, 用于抓取豆瓣电影Top前1 ...

  6. 补如何抓取豆瓣网正在热映电影信息以及海报

    废话不多说直接上代码 #!/usr/bin/env python ''' 这篇主要是获取豆瓣网正在热映电影网的电影全部信息 ''' import re import requests from req ...

  7. python爬取豆瓣电影信息_Python|简单爬取豆瓣网电影信息

    前言: 在掌握一些基础的爬虫知识后,就可以尝试做一些简单的爬虫来练一练手.今天要做的是利用xpath库来进行简单的数据的爬取.我们爬取的目标是电影的名字.导演和演员的信息.评分和url地址. 准备环境 ...

  8. scrapy抓取豆瓣网信息时报错提醒INFO: Ignoring response <403 https://movie.douban.com/top250>: HTTP status code is

    自学python的爬虫scrapy,可能会遇到如下问题: 通过上文解释对豆瓣网进行抓取过程中出现报错如下: 2020-08-20 14:27:46 [scrapy.extensions.telnet] ...

  9. Python|简单爬取豆瓣网电影信息

    欢迎点击「算法与编程之美」↑关注我们! 本文首发于微信公众号:"算法与编程之美",欢迎关注,及时了解更多此系列文章. 欢迎加入团队圈子!与作者面对面!直接点击! 前言: 在掌握一些 ...

最新文章

  1. Robotium初探秘
  2. 浅谈python+requests接口自动化框架
  3. php利用mysql扩展库向数据库插入数据的步骤与案例
  4. 技术团队新官上任之中层篇
  5. 大话PM | 产品经理必备利器——UML
  6. 已超过了锁请求超时时段。 (Microsoft SQL Server,错误: 1222)
  7. TMDS——最小化传输差分信号及其协议
  8. 补习系列(3)-springboot中的几种scope
  9. 解决Ubuntu刚装好的时候su命令密码错误的问题
  10. 【文献阅读】Augmenting Supervised Neural Networks with Unsupervised Objectives-ICML-2016
  11. 前端 圆形进度图_Highcharts 圆形进度条式测量图
  12. 网易云音乐ncm批量解码转换flac和mp3,qq音乐qmc转换
  13. QA智能问答(QQ匹配)
  14. 用DirectX12绘制一个几何体的程序详述
  15. 在VM虚拟机上装“黑苹果
  16. NFT 作品集推荐|Lululand《爱是永恒》
  17. c语言杀我,ballball各位大佬救救我吧
  18. bug:ValueError: multi_class must be in (‘ovo‘, ‘ovr‘)
  19. 仁润云出品丨浅析传统风控与大数据风控
  20. VSCode lua插件LuaHelper

热门文章

  1. 为什么我不看好AR眼镜?
  2. 家电怕买贵 双11实测比价揭迷雾:9款大牌家电京东价最低​
  3. 三谈exception——错误处理
  4. Caffe编译踩坑(一):/usr/include/boost/system/error_code.hpp:233:21: error: looser throw specifier
  5. github搜索,不要包含关键字
  6. 概率论与数理统计期末复习题(3)
  7. 算法(63)-二叉树的递归-搜索二叉树-满二叉树-平衡二叉树-
  8. 程序员跳槽,要求涨薪50%过分吗?
  9. cv_bridge用于ROS图像和OpenCV图像的转换
  10. 【实战练习】汽油辛烷值优化建模(三)(问题一关于插值方法的补充)