将图片下载到特定文件夹SeleniumPython中



我正在编写的这行代码有问题。基本上,它从几个Instagram帖子中获取图片或视频的url,并以"name0.png"、"name1.png"one_answers"name2.png"等名称逐一下载,然后显示所有名称。

我唯一的问题是它只将它们下载到我的代码所在的文件夹中,但我想将它们发送到特定的路径。

代码如下:

def save_images(name,posts):
print("Downloading Images....")
pngnames = []
i = 1
#Load each post
for post in posts:
pngname = str(name)+str(i)+'.png'
driver.get(post)
wait = WebDriverWait(driver,6).until(EC.presence_of_element_located((By.CSS_SELECTOR,'#react-root > section > main > div > div.ltEKP > article > div > div.qF0y9.Igw0E.IwRSH.eGOV_._4EzTm > div > div > section.ltpMr.Slqrh > span._15y0l > button > div.QBdPU.B58H7 > svg > path')))
image = '#react-root > section > main > div > div > article > div > div._97aPb.wKWK0 > div > div > div.KL4Bh > img'
images = '#react-root > section > main > div > div.ltEKP > article > div > div._97aPb.wKWK0 > div > div.pR7Pc > div.qF0y9.Igw0E.IwRSH.eGOV_._4EzTm.O1flK.D8xaz.fm1AK.TxciK.yiMZG > div > div > div > ul > li:nth-child(2) > div > div > div > div.KL4Bh > img'
video = '#react-root > section > main > div > div.ltEKP > article > div > div._97aPb.wKWK0 > div > div > div > div > div > video'
#Get source URL of post
if driver.find_elements(By.CSS_SELECTOR,image):
downloadUrl = driver.find_element(By.CSS_SELECTOR,image)
elif driver.find_elements(By.CSS_SELECTOR,video):
downloadUrl = driver.find_element(By.CSS_SELECTOR, video)
elif driver.find_elements(By.CSS_SELECTOR,images):
downloadUrl = driver.find_element(By.CSS_SELECTOR,images)
else:
print("Couldnt get post url.")
continue

with open(pngname, 'wb') as file:
file.write(downloadUrl.screenshot_as_png)
i=i+1
pngnames.append(pngname)

return pngnames

我应该添加什么才能将这些下载的文件发送到特定的文件夹?

'

您可以根据需要定义pngname,包括指向任何文件夹的路径。os.path是生成和操作路径名时的好友。请注意,该目录必须存在,否则将引发错误。

import os
path = "C:/Users/myself/Documents"
pngname = "myfile"
with open(os.path.join(path, pngname), 'wb') as f:
...

最新更新