下载图片及;使用python的网页中的文件

下载图片及;使用python的网页中的文件,python,Python,嗨,我正在学习如何用python编写代码和脚本 我刚刚编写了一个脚本,可以在网页上找到所有图像并将链接打印到屏幕上,现在我正试图让它将打印到屏幕上的图像下载到C:drive(C:\temp)中的临时文件夹中 但我不知道该怎么做,在尝试搜索网络后,我什么也做不到。如何下载我找到的图像而不改变代码?对于Python 2.7: import urllib urllib.urlretrieve(url, absolute_path_for_downloaded_file) 对于Python 3: im

嗨,我正在学习如何用python编写代码和脚本

我刚刚编写了一个脚本,可以在网页上找到所有图像并将链接打印到屏幕上,现在我正试图让它将打印到屏幕上的图像下载到C:drive
(C:\temp)
中的临时文件夹中

但我不知道该怎么做,在尝试搜索网络后,我什么也做不到。如何下载我找到的图像而不改变代码?

对于Python 2.7:

import urllib
urllib.urlretrieve(url, absolute_path_for_downloaded_file)
对于Python 3:

import urllib.request
urllib.request.urlretrieve(url, absolute_path_for_downloaded_file)
对代码进行以下修改:

  • 在脚本顶部的某个位置:

    import os.path # [+] Added line
    import urllib  # [+] Added line
    
  • getImage
    函数中:

    print '[+]', str(len(images)), 'Images Found:'
    
    for img in images:
        print img
    
    return images  # [+] Added line
    
    # Get the web page
    page = webpage.wget(sys.argv[1])
    # Get the links
    for x in getImage(page): # [+] Modified line
        urllib.urlretrieve(x, os.path.join('C:\\temp', x.split('/')[-1])) # [+] Modified line
    
  • 主功能中:

    print '[+]', str(len(images)), 'Images Found:'
    
    for img in images:
        print img
    
    return images  # [+] Added line
    
    # Get the web page
    page = webpage.wget(sys.argv[1])
    # Get the links
    for x in getImage(page): # [+] Modified line
        urllib.urlretrieve(x, os.path.join('C:\\temp', x.split('/')[-1])) # [+] Modified line
    

  • 我返回的脚本说,它找到了12个图像,因此我必须为找到的所有12个图像放置
    urllib.urlretrieve(url,'ASf0H.png')
    ,以此类推,难道我不需要在每个路径上编码就可以做到这一点吗?这给了我一个错误
    TypeError:“NoneType”对象不可编辑
    下面是完整的错误
    回溯(最近一次调用):文件“C:\Users\Michael\Desktop\image.py”,第34行,在main()文件“C:\Users\Michel\Desktop\image.py”的第30行,主要针对getImage(第页)中的x:TypeError:“NoneType”对象不可编辑
    这有点正常,但是它只下载找到的第一个图像&它正在下载到桌面,而不是
    C:\temp
    如果image x没有下载,我如何让它打印出一条消息,它仍然将一个文件保存到桌面上,输出的是24个图像