как сохранить выходные файлы в новой папке?? теперь они хранятся в корне. помогите мне сохранить в определенном месте, и я хотел указать имя файла

#python #python-3.x #web-scraping #python-requests

#python #python-3.x #веб-очистка #python-запросы

Вопрос:

пожалуйста, помогите мне обновить приведенное ниже: это фактически открывает веб-сайт и делает снимок экрана.

Мне нужно, чтобы файл o / p был сохранен в нужном месте. и, если возможно, пожалуйста, помогите мне с именем.

пример: если ввод: https://www.amazon.in/B078BNQ318 / я хочу, чтобы файл был сохранен как B078BNQ318. Пожалуйста, помогите

 import webbrowser
import pyautogui, time
import xlrd

URL = []
chrome_path = 'C:/Program Files (x86)/Google/Chrome/Application/chrome.exe %s'

# change the loc as per your excel location
loc = ("C:\Users\dilip\Documents\URL.xlsx")
wb = xlrd.open_workbook(loc)
# open the first sheet
sheet = wb.sheet_by_index(0)

for i in range(sheet.nrows):
    URL.append(sheet.cell_value(i, 0))

for i in range(0, len(URL)):
    webbrowser.get(chrome_path).open(URL[i])
    time.sleep(5)
    screenshot = pyautogui.screenshot()
    filename = "file"   str(i)   ".png"
    screenshot.save(filename)
  

Ответ №1:

Вы можете использовать f string в python.

 for i in range(0, len(URL)):
    webbrowser.get(chrome_path).open(URL[i])
    time.sleep(5)
    screenshot = pyautogui.screenshot()
    filename = "file"   str(i)   ".png"
    screenshot.save(f"D:\{filename}")   # Here I gave D drive as location.Change this acccording to your need
  

Комментарии:

1. Ошибка синтаксиса: (ошибка юникода) кодек ‘unicodeescape’ не может декодировать байты в позиции 2-3: усеченный UXXXXXXXX escape

Ответ №2:

Я уверен, что вы можете использовать разделение по пути и получить последний элемент. Я не понимаю код, поэтому я скажу то, что понимаю

 #assume this is the url

url = 'https://www.amazon.in/B078BNQ318/'
i = url.split('/')

#assuming all url's are like the example you gave 

filename = "file"   str(i[-2])   ".png"

#output of i = ['https:', '', 'www.amazon.in', 'B078BNQ318','']