从python执行wget

时间:2014-11-02 23:03:04

标签: python terminal wget

Heyo,尝试从网站下载图片。我已经设置了一个基本的过滤器工作正常,但我的目标是自动执行此操作,其中一个步骤就是不断重新下载站点。我使用wget来做这个从终端工作正常,但似乎在python中的os.system()创建它自己(不能想到名称atm)'终端&# 39;这意味着我无法使用我已安装的内容,例如wget。我已经尝试过gnome-terminal,但我可能做错了什么:/非常感谢任何其他解决方案,谢谢!

1 个答案:

答案 0 :(得分:1)

为什么要通过从终端调用wget来下载网站? 我认为更好的想法是以python方式下载网站:

import sys
import os
import urllib.error
import urllib.request

def get_raw_webpage(url):
    """
        Download a web url as raw bytes
    """
    try:
        req = urllib.request.Request(url)
        response = urllib.request.urlopen(req)
        data = response.read()
        return data

    except urllib.error.HTTPError as e:
        print('HTTPError: ', e.code , file = sys.stderr)
        return None

    except urllib.error.URLError as e:
        print('URLError: ', e.args, file = sys.stderr)
        return None

    except ValueError as e:
        print('Invalid url.', e.args, file = sys.stderr)

    return None


def get_webpage(url):
    """
    Get webpage as raw bytes and then
    convert to readable form
    """
    data = get_raw_webpage(url)
    if data == None:
        return None

    return data.decode('utf-8')

您还可以使用带有图像链接的get_raw_webpage函数进行下载!