답변:
wget
문서 만 검색합니다. 문서가 HTML로되어 있다면 원하는 것은 문서를 파싱 한 결과입니다.
예를 들어 lynx -dump -nolist
lynx가 있다면을 사용할 수 있습니다.
lynx
가볍고 간단한 웹 브라우저이며 -dump
구문 분석 프로세스의 결과를 출력하는 데 사용되는 기능이 있습니다. -nolist
페이지 끝에 하이퍼 링크가있는 경우 나타나는 링크 목록을 피합니다.
@Thor에서 언급했듯이 옵션 elinks
도 있으며 링크 목록을 생략해야하기 때문에 이것도 사용할 수 있습니다 . -sigh- 프레임 (MTFBWY)을 사용하여 일부 사이트를 걸을 때 특히 유용 할 수 있습니다.-dump
-no-references
또한 페이지가 실제로 HTML 태그가있는 C 코드가 아니라면 결과를 확인하고 C 코드 이상이 없는지 확인해야합니다.
이러한 다른 도구가 설치되어 있지 않고 wget 만 있고 페이지에 일반 텍스트 및 링크 형식 (예 : 소스 코드 또는 파일 목록)이없는 경우 다음과 같이 sed를 사용하여 HTML을 제거 할 수 있습니다.
wget -qO- http://address/of/page/you/want/to/view/ | sed -e 's/<[^>]*>//g'
이것은 wget을 사용하여 페이지 소스를 STDOUT으로 덤프하고 sed를 사용하여 <> 쌍과 그 사이의 모든 것을 제거합니다.
그런 다음 sed 명령의 출력을>를 사용하여 생성하려는 파일로 리디렉션 할 수 있습니다.
wget -qO- http://.../ | sed -e 's/<[^>]*>//g' > downloaded_file.txt
주의 : 파일에 원하지 않는 여분의 공백이있을 수 있습니다 (예 : 줄에 몇 개의 열이 들여 쓰기 됨)
텍스트 편집기를 사용하여 파일을 정리하는 것이 가장 쉽습니다 (또는 C 소스 코드를 다운로드 할 때 소스 포맷터).
파일의 모든 행에 대해 동일한 간단한 작업을 수행해야하는 경우 sed 명령에 명령을 포함시킬 수 있습니다 (여기서는 선행 공백 하나 제거).
wget -qO- http://.../ | sed -e 's/<[^>]*>//g;s/^ //g' > downloaded_stripped_file.txt
.c
. 어렵지는 않지만 페이지 구조에 따라 다릅니다. 링크를 제공하면 누군가가 정확한 코드로 도움을 줄 수 있습니다. 그렇지 않으면sed
또는perl
당신의 친구입니다.