Як сканувати за допомогою wget для завантаження ТІЛЬКИ HTML-файлів (ігноруйте зображення, css, js)


14

По суті, я хочу сканувати весь сайт за допомогою Wget, але мені це потрібно, щоб НІКОЛИ не завантажувати інші ресурси (наприклад, зображення, CSS, JS тощо). Я хочу лише HTML-файли.

Пошуки Google абсолютно марні.

Ось команда, яку я спробував:

wget --limit-rate=200k --no-clobber --convert-links --random-wait -r -E -e robots=off -U "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.102 Safari/537.36" -A html --domain=www.example.com http://www.example.com

Наш сайт - гібридні плоскі PHP та CMS. Таким чином, HTML "файли" може бути /path/to/page, /path/to/page/, /path/to/page.phpабо /path/to/page.html.

Я навіть включив, -R js,cssале він все ще завантажує файли, ТОГО відхиляє їх (безглуздо марно пропускної здатності, завантаження процесора та сервера!).


2
яка команда, яку ви намагалися поки що? Якщо іменування файлів узгоджується, ви повинні мати можливість використовувати прапор -R. Крім того, ви можете використовувати прапор --ignore-tags і ігнорувати теги скриптів та img.
ernie


Я намагався використовувати --accept = html, але він завантажує файли CSS, ТОГО видаляє їх. Я хочу не допустити їх завантаження. Хоча запит заголовків чудово - Наприклад, я помічаю Length: 558 [text/css]файли, які я не хочу. Якщо я можу зупинити запит, якщо заголовок не повернеться text/html, я був би в захваті.
Натан JB

Відповіді:


13

@ коментар Ерні про те, що ведеш --ignore-tagsмене на правильний шлях! Коли я подивився --ignore-tagsна man, я помітив --follow-tags.

Установка --follow-tags=aдозволила мені пропустити img, link, scriptі т.д.

Напевно, це занадто обмежено для деяких людей, які шукають однакову відповідь, але в моєму випадку це насправді добре (добре, якщо я пропущу пару сторінок).

Якщо хтось знайде спосіб дозволити сканувати ВСІ теги, але заважає wgetвідхиляти файли лише після їх завантаження (перед завантаженням він повинен відхилити на основі імені файлу або заголовка Тип вмісту), я дуже щасливо прийму їх відповідь!


5

як щодо додавання параметрів:

--reject '*.js,*.css,*.ico,*.txt,*.gif,*.jpg,*.jpeg,*.png,*.mp3,*.pdf,*.tgz,*.flv,*.avi,*.mpeg,*.iso'
--ignore-tags=img,link,script 
--header="Accept: text/html"
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.