使用Python获取城市古风图片

本文介绍了如何使用Python爬取画家朴缜的《东方幻月录》中的古风城市图片。通过请求数据、解析内容和保存图片,详细讲解了整个过程。涉及到的技术包括requests、BeautifulSoup库。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

欢迎访问

🐳 介绍

txt> 画家朴缜(zhěn)画的《东方幻月录》这几天在微博上火了!他用传统题材的现代表现手法,结合了中国各个城市特有的人文风貌、历史故事、建筑特点等元素为每个城市都打上了独特的印记,每一幅都美轮美奂!今天我们就使用Python来获取朴缜先生的几幅作品。本文纯技术角度出发,教你如何用Python获取照片。学会后同理也能获取其他的照片,技术原理是一致的。

🐳 准备

txt> 系统:Macos M1
     Python版本:Python 3.9.4

txt> Python第三方库:
     requests        2.25.1
     jsonpath        0.82

bash> pip3 install requests
      pip3 install jsonpath
      pip3 install bs4

🐳 思路

txt> 请求数据 ➡️ 获取响应内容 ➡️ 解析内容 ➡️ 保存数据

思路

🐳 步骤


# -*- coding: utf-8 -*-
# User:www.redelego.cn
# Last Update:2021/6/24 8:54 下午


def fun_atool_request_url(pv_url_1804):
    l_obj_headers_1756 = {
        'Cookie': 'OCSSID=4df0bjva6j7ejussu8al3eqo03',
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36'
                      '(KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36',
    }
    import requests
    l_obj_response_1806 = requests.get(pv_url_1804, timeout=30, headers=l_obj_headers_1756)
    l_obj_response_1806.encoding = r"utf-8"
    return l_obj_response_1806.text


def fun_atool_img_get_url(pv_content_2114):
    # txt> 图片定位selector
    larr_images = []
    lv_sel_img = "#mp-editor > p > img"
    from bs4 import BeautifulSoup
    l_obj_soup_1811 = BeautifulSoup(pv_content_2114, "html.parser")
    l_obj_articles_1821 = l_obj_soup_1811.select(lv_sel_img)
    for lv_one_image in l_obj_articles_1821:
        larr_images.append(lv_one_image.get('src'))
    return larr_images


def fun_atool_img_save2f(parr_image_urls_2127):
    import requests
    for lv_img_url in parr_image_urls_2127:

        l_obj_headers_1756 = {
            'Cookie': 'OCSSID=4df0bjva6j7ejussu8al3eqo03',
            'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36'
                          '(KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36',
        }
        l_obj_response_1806 = requests.get(lv_img_url, timeout=30, headers=l_obj_headers_1756)
        lobj_img_data_2130 = l_obj_response_1806.content
        with open('./res/' + lv_img_url.replace('http://5b0988e595225.cdn.sohucs.com/images/20190727/',''), 'wb') as f:
            f.write(lobj_img_data_2130)


if __name__ == '__main__':
    lv_page_url_2059 = "https://www.sohu.com/a/329610350_611289"
    # txt> 获取网页内容,保存为文本。
    lv_content_2118 = fun_atool_request_url(lv_page_url_2059)
    print(lv_content_2118)

    # txt> 解析网页获取图片🔗数组。
    larr_images_2126 = fun_atool_img_get_url(lv_content_2118)

    # txt> 传入图片🔗数组,保存图片到文件。
    fun_atool_img_save2f(larr_images_2126)

🐳 🦀️ 🐯 请欣赏各个城市

  • img1
  • img
  • img
  • img
  • img
  • img
  • img
  • img
  • img
  • img
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

redelego@cloud

XXXXXXXXXXXXXXX

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值