Как открыть все ссылки и сохранить изображения в папке в определенном каталоге на моем компьютере?

#pandas #web-scraping #urllib #urllib2

#панды #соскабливание паутины #urllib #urllib2

Вопрос:

Код:

 import urllib.request from bs4 import BeautifulSoup from requests import get import requests import dload import pandas as pd pd.set_option('display.max_colwidth', None)  week_11_picURL = "https://www.packers.com/photos/game-photos-packers-at-vikings-week-11-2021#9258618e-e793-41ae-8d9a-d3792366dcbb"   response = get(week_11_picURL) print(response)  html_page = requests.get(week_11_picURL) soup = BeautifulSoup(html_page.content, 'html.parser') image = soup.findAll('div', class_="nfl-c-photo-album__picture-wrapper")  data = []  for x in soup.select('.nfl-c-photo-album__picture-wrapper picture source:first-child'):  try:  data.append(x['srcset'].split(',')[0])  except:  data.append(x['data-srcset'].split(',')[0])  data  test_url = "https://static.clubs.nfl.com/image/private/t_new_photo_album/f_auto/packers/f6jcqnmhbzs2dyvepa8z.jpg"  df = pd.DataFrame(data) replace = df.replace(["/t_lazy", "1x"], "", regex=True)  folder = "f:/nfl pics/packers/week 11 - at vikings" save = dload.save_multi(url_list=replace, dir=folder, max_threads=1, tsleep=0.05)  

заменить данные:

 0 0 https://static.clubs.nfl.com/image/private/t_new_photo_album/f_auto/packers/hjmcucejx2vmfshjkdkj.jpg  1 https://static.clubs.nfl.com/image/private/t_new_photo_album/f_auto/packers/rgsvjp6sxu89ditolacv.jpg  2 https://static.clubs.nfl.com/image/private/t_new_photo_album/f_auto/packers/zsogvqrqgaauqcdgejde.jpg  3 https://static.clubs.nfl.com/image/private/t_new_photo_album/f_auto/packers/jyegqthuab2hsuygirqp.jpg  4 https://static.clubs.nfl.com/image/private/t_new_photo_album/f_auto/packers/kwsq1fvn41f6kzqo4nkl.jpg  etc.  

Ошибка, которую я получаю при использовании функции «сохранить», заключается в следующем:

 Traceback (most recent call last):  File "location", line 174, in save_multi  with open(url_list) as f: TypeError: expected str, bytes or os.PathLike object, not DataFrame  

Я пытаюсь найти способ автоматического открытия всех ссылок из данных в разделе «заменить» и сохранения уважаемых изображений в каталоге с надписью «папка». Когда я пытаюсь использовать свою функцию «сохранить», я получаю приведенную выше ошибку. Как мне решить эту проблему или есть более эффективный способ решить эту проблему?

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

1. ошибка точно указывает на проблему. Вы передаете фрейм данных, и вам не нужен фрейм данных. В документации для dload говорится, что это должен быть список. Вам нужно переодеться, чтобы replace = list(df.replace(["/t_lazy", "1x"], "", regex=True)[0])

2. это, однако, в конечном счете не сработает, поскольку nfl довольно хорошо справляется с тем, чтобы их контент не был доступен автоматизированным способом. Запросы здесь возвращают пустое содержимое, поэтому оно сохранится, но содержимого там не будет.