如何將網頁html原始碼輸出到文件中

如何將網頁html原始碼輸出到文件中

我的目標是將 html 來源輸出到文件中,我正在使用w3m從終端瀏覽網頁。

在終端機上使用以下命令時:w3m <url> -dump程式以非互動方式顯示網站,但不顯示其 html 原始碼。

如果您使用 開啟網站w3m <url>,終端將顯示該網站,如果您按v,然後程式將顯示html來源,我嘗試編寫腳本但沒有成功。我認為命令列參數-dump_source會對我有幫助,但我得到的唯一的是非人類閱讀內容,我不知道-dump_source應該回傳什麼

這是我到目前為止所嘗試的:

  • -T text/html在終端機上使用-dump但輸出沒有改變
  • 在終端上使用-T text/plainwith-dump_source希望將非人類輸出轉換為純文本,但沒有成功(即使在終端上鍵入閱讀 w3m 手冊後,我也不明白 -T 的用途man w3m
  • 知道緊迫v當 w3m 顯示網站從網頁內容切換到 html 原始碼時,我嘗試使用資料庫將其附加到 w3m 進程並重定向其標準輸入標準輸出到我的文件(input.txt,output.txt),其中input.txt包含一個v,但我沒有成功。在我的測試程序上執行此操作按預期工作。我遵循了所描述的內容這裡。如果我寫ls -l /proc/<w3m_pid>/fd,其中 w3m_pid 是我在終端上使用的 w3m 進程 ID ps ax,我可以看到有 3 個檔案描述符,如果我嘗試重定向第三個,程式崩潰並顯示:發生錯誤:errorno=25
  • 重定向標準 I/Ow3m <url> < input.txt > output.txt也不起作用
  • W3M 使用鍵綁定在網路上導航,這表示如果您按v無需按 Enter 鍵,終端不緩衝輸入,使用附加到 w3m 進程的 gdb 我嘗試使用 刪除它p system ("/bin/stty cooked"),但 w3m 鍵綁定沒有改變。

我的問題是:為什麼使用 gdb 重定向 I/O 不起作用以及我可以做什麼來獲取 html 原始碼? w3m 有一個選項可以輸出我缺少的 html 原始碼,或者我必須使用另一個程式?

PS:我需要 html 原始碼作為大學作業,透過 html 原始碼,我可以建立一個腳本來瀏覽網頁並將頁面輸出到文件中,而不是我應該使用這些輸出與 flex 來提取有關事物的靜態資訊在網路上,例如:c語言的題中stack這個字出現了多少?這是我的想法。

任何建議,將不勝感激。

W3M版本:0.5.3+debian-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

相關內容