我编写了一个小的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()
如何修改我的代码以便:
答案 0 :(得分:2)
您需要切换到find_elements_by_tag_name
。对于下载文件,我会使用urllib.urlretrieve()
- 它会从网址中提取文件名:
images = self.driver.find_elements_by_tag_name('img')
for image in images:
src = image.get_attribute("src")
if src:
urllib.urlretrieve(src)
答案 1 :(得分:1)
您可以使用Ruby gems nokogiri 打开网页并使用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