웹 페이지 HTML 소스 코드를 파일로 출력하는 방법

웹 페이지 HTML 소스 코드를 파일로 출력하는 방법

내 목표는 HTML 소스를 파일로 출력하는 것입니다.w3m터미널에서 웹을 탐색합니다.

터미널에서 다음 명령을 사용하는 경우: w3m <url> -dump프로그램은 웹 사이트를 비대화형 방식으로 표시하지만 HTML 소스는 표시하지 않습니다.

로 웹사이트를 열면 w3m <url>터미널에 해당 사이트가 표시되고, 를 누르면V, 그러면 프로그램에 html 소스가 표시됩니다. 스크립트를 작성하려고 했지만 성공하지 못했습니다. 명령줄 인수가 도움이 될 것이라고 생각했지만 내가 얻은 유일한 것은 사람이 읽을 수 없는 내용뿐이었습니다. 무엇을 반환해야 할지 -dump_source모르겠습니다.-dump_source

지금까지 시도한 내용은 다음과 같습니다.

  • -T text/html터미널 에서 사용했지만 -dump출력은 변경되지 않았습니다.
  • -T text/plain사람이 아닌 출력이 일반 텍스트로 변환되기를 바라면서 터미널 에서 사용 하지만 성공하지 못했습니다. ( 터미널에 -dump_source입력하여 w3m 매뉴얼을 읽은 후에도 -T가 무엇인지 이해하지 못했습니다. )man w3m
  • 그 압박감을 알기에Vw3m이 웹 페이지 콘텐츠에서 HTML 소스 코드로 웹 사이트 전환을 표시하는 동안 나는 다음을 사용하려고 했습니다.gdb이를 w3m 프로세스에 연결하고 리디렉션하려면표준입력그리고표준 출력input.txt에 단일 파일이 포함된 내 파일(input.txt, output.txt)에V, 그러나 나는 성공하지 못했습니다. 내 테스트 프로그램에서 이 작업을 수행하면 예상대로 작동했습니다. 설명된 내용을 따랐습니다.여기. ls -l /proc/<w3m_pid>/fdw3m_pid가 터미널에서 사용하여 얻은 w3m 프로세스 ID인 경우 3 ps ax개의 파일 설명자가 있는 것을 볼 수 있습니다. 세 번째 파일 설명자를 리디렉션하려고 하면 프로그램이 충돌하고 다음과 같이 표시됩니다.오류 발생: errorno=25
  • 표준 I/O 리디렉션 w3m <url> < input.txt > output.txt도 작동하지 않았습니다.
  • W3M은 웹 탐색을 위해 키바인딩을 사용합니다.VEnter 키를 누를 필요가 없습니다. 터미널이 입력을 버퍼링하지 않습니다. w3m 프로세스에 연결된 gdb를 사용하여 를 사용하여 제거하려고 했지만 p system ("/bin/stty cooked")w3m 키 바인딩이 변경되지 않았습니다.

내 질문은: gdb를 사용하여 I/O 리디렉션이 작동하지 않는 이유와 html 소스 코드를 얻으려면 어떻게 해야 합니까? w3m에는 누락된 HTML 소스 코드를 출력하는 옵션이 있습니다. 그렇지 않으면 다른 프로그램을 사용해야 합니까?

추신: 대학 숙제를 위해 html 소스 코드가 필요합니다. html 소스 코드를 사용하면 웹을 탐색하고 페이지를 파일로 출력하는 스크립트를 만들 수 있습니다. flex와 함께 해당 출력을 사용하여 사물에 대한 정적 정보를 추출해야 합니다. 웹에서는 다음과 같습니다. c 언어에 관한 질문에 단어 스택이 몇 개나 나타납니까? 이것이 내 생각이다.

어떤 제안이라도 감사하겠습니다.

W3M 버전:0.5.3+데비안-15

GDB 버전:7.7.1

우분투 버전:14.04

미리 감사드립니다!

답변1

왜 사용할 수 없습니까 curl?

curl web-address > file-source.

소스 코드를 출력합니다.file

이와 같이

curl http://askubuntu.com/questions/822139/how-to-output-web-page-html-source-code-into-a-file > source-html

답변2

이에 대한 답변은 다음에서 이미 답변되었습니다.https://askubuntu.com/a/1273410/1124534

w3m -o accept_encoding=UTF-8 -dump_source google.com >file

관련 정보