python爬虫爬取彼岸桌面的图片

这是一个Python初学者编写的爬虫代码,用于从彼岸桌面网站抓取第一页的图片。程序使用requests和BeautifulSoup库,创建了一个APP类,实现了获取网页HTML、解析图片URL并下载图片的功能。下载过程中提供了进度反馈。
摘要由CSDN通过智能技术生成

用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()

结果显示是这个样子

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值