Как также загрузить дублирующиеся изображения?

я могу дать Вам схему здесь о том, как сделать это, но не spcific пошаговое, по крайней мере, я - попытка.

  • Необходимо измениться /etc/mkinitcpio.d/linux.preset файл для включения правильного модуля и файлов, который необходим, чтобы bulethooth клавиатура работала. (Вы, вероятно, отредактировали этот файл для включения шифрования HD),
  • Впоследствии необходимо создать новый initramfs файл с mkinitcpio -p linux (Вы, вероятно, wnat для изменения текущего в /boot/initramfs-linux.img (Вы видите, которым - это, исследуют Ваш /boot/grub/menu.lst файл), чтобы быть /boot/initramfs-linux.img.bck.

см. эту ссылку от Wiki Arch о том, как создать этот файл.

1
30.11.2012, 04:25
3 ответа

Я думаю, что Ваша проблема --page-requisites. Я подозреваю, что это распознает дубликаты и старается не загружать их снова. Это обычно, что Вы хотите. Вы обходите его путем вызова wget однажды к каждому URL и имеете его, загружают на другую папку каждый раз, как так:

#!/bin/bash
let i=0
while IFS=$'\n' read url; do 
  let i++; 
  wget -nv -P $i --page-requisites "$url"; 
done < urls.txt

Однако Вам только нужно единственное изображение, содержавшееся в каждом из файлов. Это должно добиться цели:

wget -i urls.txt -q -O - | ...extract image URLs... | wget -nv -i -

Извлечение URL от HTML может быть столь же легким как ищущий немного verbatim URLs, например.

grep -Eo 'http://host/abc/[^"]+.jpg'

Или Вам нужно немного больше усилия. Если Ваши 900 URL указывают на подобный HTML, это не должна быть проблема. В любом случае это пронумерует файлы на коллизии имени.

1
27.01.2020, 23:29

wget не игнорирует дубликаты, он по всей вероятности перезаписывает их. wget имеет много опций, и я не знаю обо всех них, но я не полагаю, что существует такая опция выборочно добавить суффикс для различения дублирующихся имен файлов. Необходимо создать эту функциональность сами.

такой как

#  mkdir /myarchivedir
#  
#  mkdir /tmp/mytempdir
#  cd /tmp/mytempdir
#  
#  i=1
#  while [ $i -le 900 ] 
#  do
#  wget http://mysite.com/somefile
#  file=$(ls)
#  mv $file /myarchivedir/${i}.${file}
#  (( i=$i+1 ))
#  done

как Вы видите, даже если переменная $file совпадет с другим прежде, так как я изменяет значение каждый раз при перемещении файла в/myarchivedir это не перезапишет дубликат, названный изображением.

1
27.01.2020, 23:29
  • 1
    Почему был этот downvoted? Я не тот здравый смысл со сценариями. Я предполагаю, что это может использоваться в качестве сценария удара? Karlson добавил # перед каждой строкой, но я должен был бы удалить их, потому что это - символ комментария? –  unor 01.12.2012, 02:23
  • 2
    @unor Это не сценарий. Это команды и # командная строка. –  Karlson 28.12.2012, 18:56
  • 3
    # обычно указывает на выполнение как на корень. Действительно необходимо запустить этот скрипт как корень? Иначе я заменил бы их $, которые обычно указывают на выполнение как на некорневого пользователя. –  Naftuli Kay 28.02.2013, 03:38

Причина это не сохраняет дубликаты для Вас, состоит в том, потому что Вы используете --page-requisites (-p) опция. Попытайтесь добавить --no-directories (-nd) опция к Вашей команде.

Из страницы справочника (сильный акцент, добавленный мной):

При выполнении Wget без-N-nc,-r, или-p, загрузке того же файла в том же каталоге приведет к оригиналу сохраняемого файла и вторая копия, названная файлом 1. Если тот файл будет загружен все снова и снова, то третью копию назовут файлом 2 и так далее. (Это - также поведение с - без обозначения даты, даже если-r или-p в действительности.)

1
27.01.2020, 23:29

Теги

Похожие вопросы