Python爬虫:一个爬取豆瓣电影人像的小案例

news/2024/7/19 11:54:00 标签: 爬虫, python, 开发语言

从谷歌浏览器的开发工具进入
选择图片右键点击检查在这里插入图片描述

![在这里插入图片描述](https://img-blog.csdnimg.cn/1b38c2a942c441fb8cb545a28bb35015.png在这里插入图片描述

翻页之后发现网址变化的只有start数值,每次变化值为30

Python代码

python">import requests
from bs4 import BeautifulSoup
import time
import os


# 豆瓣影人图片
url = 'https://movie.douban.com/celebrity/1011562/photos/'
res = requests.get(url=url, headers="").text
content = BeautifulSoup(res, "html.parser")
data = content.find_all('div', attrs={'class': 'cover'})
picture_list = []
for d in data:
    plist = d.find('img')['src']
    picture_list.append(plist)
print(picture_list)


# https://movie.douban.com/celebrity/1011562/photos/?type=C&start=30&sortby=like&size=a&subtype=a
def get_poster_url(res):
    content = BeautifulSoup(res, "html.parser")
    data = content.find_all('div', attrs={'class': 'cover'})
    picture_list = []
    for d in data:
        plist = d.find('img')['src']
        picture_list.append(plist)
    return picture_list

# XPath://*[@id="content"]/div/div[1]/ul/li[1]/div[1]/a/img
def download_picture(pic_l):
    if not os.path.exists(r'picture'):
        os.mkdir(r'picture')
    for i in pic_l:
        pic = requests.get(i)
        p_name = i.split('/')[7]
        with open('picture\\' + p_name, 'wb') as f:
            f.write(pic.content)

def fire():
    page = 0
    for i in range(0, 450, 30):
        print("开始爬取第 %s 页" % page)
        url = 'https://movie.douban.com/celebrity/1011562/photos/?type=C&start={}&sortby=like&size=a&subtype=a'.format(i)
        res = requests.get(url=url, headers="").text
        data = get_poster_url(res)
        download_picture(data)
        page += 1
        time.sleep(1)


fire()

在这里插入图片描述

把爬取的图片全部放到新建的文件夹中存放
在这里插入图片描述


http://www.niftyadmin.cn/n/4987980.html

相关文章

Java【手撕滑动窗口】LeetCode 3. “无重复字符的最长子串“, 图文详解思路分析 + 代码

文章目录 前言一、长度最小子数组1, 题目2, 思路分析3, 代码 前言 各位读者好, 我是小陈, 这是我的个人主页, 希望我的专栏能够帮助到你: 📕 JavaSE基础: 基础语法, 类和对象, 封装继承多态, 接口, 综合小练习图书管理系统等 📗 Java数据结构: 顺序表, 链…

go读取文件的几种方法

一. 整个文件读入内存 直接将数据直接读取入内存,是效率最高的一种方式,但此种方式,仅适用于小文件,对于大文件,则不适合,因为比较浪费内存 1.直接指定文化名读取 在 Go 1.16 开始,ioutil.Rea…

华为OD机试 - 硬件产品销售方案 - 回溯(Java 2023 B卷 200分)

目录 专栏导读一、题目描述二、输入描述三、输出描述四、补充说明五、解题思路六、Java算法源码七、效果展示1、输入2、输出3、说明 华为OD机试 2023B卷题库疯狂收录中,刷题点这里 专栏导读 本专栏收录于《华为OD机试(JAVA)真题(…

20230831工作心得:SQL这块花了挺多时间

1、SQL语句的问题 1、SQL这块花了挺多时间 1、理解业务 要之前自己要查什么数据,再去写SQL,这句话看起来像一句废话,但是很多时候,不知道自己在干嘛。 2、时间 1、需要查询哪个时间字段 表里有很多time有create_time&#…

C++哈希(散列)与unordered关联式容器封装(Map、Set)

一、unordered系列关联式容器 在C98中,STL提供了以红黑树为底层数据结构的关联式容器(map、set等),查询时的效率可以达到,最差情况下需要比较红黑树的高度次。因此在C11中,STL提供了四个unordered系列关联式容器&…

【Map】Map集合有序与无序测试案例:HashMap,TreeMap,LinkedHashMap(121)

简单介绍常用的三种Map:不足之处,欢迎指正! HashMap:put数据是无序的; TreeMap:key值按一定的顺序排序;数字做key,put数据是有序,非数字字符串做key,put数据…

深度剖析:数据服务API的安全性与隐私保护

随着互联网技术的飞速发展,数据服务API已经成为了企业和个人获取、处理和分析数据的重要工具。然而,数据服务API的安全问题也日益凸显,尤其是在用户隐私保护方面。本文将深入剖析数据服务API的安全性与隐私保护问题,并结合产品FDL…

openCV实战-系列教程13:文档扫描OCR识别下(图像轮廓/模版匹配)项目实战、源码解读

🧡💛💚💙💜OpenCV实战系列总目录 有任何问题欢迎在下面留言 本篇文章的代码运行界面均在Pycharm中进行 本篇文章配套的代码资源已经上传 上篇内容: openCV实战-系列教程11:文档扫描OCR识别上&am…