如何下载一个网页的所有图片并将其保存为原始名称?

2024-10-01 09:40:12 发布

您现在位置:Python中文网/ 问答频道 /正文

我编写了一个小Python脚本,使用selenium从网站下载图片:

from selenium import webdriver
import urllib.request
class FirefoxTest:
    def firefoxTest(self):
        self.driver=webdriver.Firefox()
        self.driver.get("http://www.sitew.com")
        self.r=self.driver.find_element_by_tag_name('img')
        self.uri=self.r.get_attribute("src")
        self.g=urllib.request.urlopen(self.uri)
        with open("begueradj.png",'b+w') as self.f:
            self.f.write(self.g.read())             
if __name__=='__main__':
    FT=FirefoxTest()
    FT.firefoxTest()

如何修改代码以便:

  1. 下载网页上的所有图片?
  2. 不是给我下载的图片命名,而是保留它们的默认名称?在

Tags: nameimportself脚本getrequestdriverselenium
2条回答

您需要切换到^{}。对于下载文件,我会使用^{}-它会为您从url中提取文件名:

images = self.driver.find_elements_by_tag_name('img')
for image in images:
    src = image.get_attribute("src")
    if src:
        urllib.urlretrieve(src)

您可以使用rubygemsnokogiri打开网页并使用xpath下载图像。在


require 'open-uri'
require 'nokogiri'

f = open('sample.flv')
begin
    http.request_get('/sample.flv') do |resp|
        resp.read_body do |segment|
            f.write(segment)
        end
    end
ensure
    f.close()
end

相关问题 更多 >