关键词搜索

全站搜索
×
密码登录在这里
×
注册会员
×

已有账号? 请点击

忘记密码

已有账号? 请点击

使用其他方式登录

python爬虫爬取彼岸桌面图片

发布2022-05-17 浏览853次

详情内容

用python写的爬虫爬取彼岸桌面的图片,没有翻页,只爬取第一页。

import requests
from bs4 import BeautifulSoup
import os
from urllib.request import urlretrieve


class APP:
    def __init__(self):
        self.url = 'http://www.netbian.com/'
        self.header = ''
        self.path = "D:/123图片下载/"
        # self.path = os.path.abspath('.')    #当前代码文件所在的workspace的路径
        # os.makedirs('/image/', exist_ok=True) #D盘下创建目录image   exist_ok=True文件夹存在时不报错
        # path = os.path.join(path1, path2) #函数:连接两个或更多的路径名组件 1.如果各组件名首字母不包含’ / ’,则函数会自动加上 2.如果有一个组件是一个绝对路径,则在它之前的所有组件均会被舍弃 3.如果最后一个组件为空,则生成的路径以一个’ / ’分隔符结尾
        self.get_picture()

    def get_html(self):
        response = requests.get(self.url, headers=self.header)
        response.encoding = response.apparent_encoding
        html = response.text
        return html

    def get_picture(self):
        os.makedirs(self.path, exist_ok=True)
        html = self.get_html()
        soup = BeautifulSoup(html, 'html.parser')
        p_urls = soup.find_all('img')

        def reporthook(a, b, c):
            """
            显示下载进度
            :param a: 已经下载的数据块
            :param b: 数据块的大小
            :param c: 远程文件大小
            :return: None
            """

            per = 100.0 * a * b / c
            if per > 100:
                per = 100
            print("\rdownloading: '%.2f%%'" % per, end="")

        i = 1
        for p_url in p_urls:
            u = p_url.get('src')
            file_name = self.path + '%d' % i + '.jpg'
            print("\n正在下载:" + file_name)
            urlretrieve(u, file_name, reporthook)
            i += 1


if __name__ == "__main__":
    app = APP()


结果显示是这个样子

image.png


 

点击QQ咨询
开通会员
返回顶部
×
  • 微信支付
微信扫码支付
微信扫码支付
请使用微信描二维码支付
×

提示信息

×

选择支付方式

  • 微信支付
确定支付下载