我想從有經驗的人做更多的信息做網絡報廢一般情況下,我正在使用Python庫進行網絡報廢。同時,我注意到有些人使用簡單的Bash,並使用網絡報廢命令,如wget, curl, sed, grep, awk
。使用Bash腳本來通過python庫進行web報廢?
這些命令在腳本編寫方面似乎比使用Python庫進行Web報廢要乾淨得多。
你對此有何看法?你看到使用Python庫而不是Bash的好處嗎?甚至使用Python與Bash來完成網絡報廢?
我想從有經驗的人做更多的信息做網絡報廢一般情況下,我正在使用Python庫進行網絡報廢。同時,我注意到有些人使用簡單的Bash,並使用網絡報廢命令,如wget, curl, sed, grep, awk
。使用Bash腳本來通過python庫進行web報廢?
這些命令在腳本編寫方面似乎比使用Python庫進行Web報廢要乾淨得多。
你對此有何看法?你看到使用Python庫而不是Bash的好處嗎?甚至使用Python與Bash來完成網絡報廢?
BeautifulSoup和Requests是用於編程式抓取的最佳工具。它們被廣泛使用,經常更新,並集中於易用性(請求的座右銘是HTTP for Humans
)。
你有沒有看過什麼可能與捲曲或得到?用一行命令? – user2171775
大多數有經驗的程序員都熟悉curl並獲得。關鍵是使用python更易於使用,更易讀,更易於維護。整個行業的專業人士都有使用它的原因。如果你只是需要一個腳本來從互聯網上獲得一個頁面,通過一切手段使用bash。但bash是否有數據庫驅動程序?它有模塊嗎?使用python有很多優點。 –
我認爲Python的另一個優點是JSON作爲一種數據格式已經變得更加普遍。當然,對於一次下載網頁,curl是一個戰鬥頑強的工具,但想象一下使用'curl'和其他unix工具來爬取REST API?你可以花時間學習'jq'的語法,或者你可以使用'requests',調用'r.json()'並完成你的任務。 – thaavik
使用Python,您還可以使用Selenium和PhantomJS等無頭瀏覽器來刮取使用JavaScript呈現的網站。也許這對於bash腳本也是可行的,但是你的代碼越多,python恕我直言的清晰度就越大。
謝謝,我沒有想過處理JavaScript。 – user2171775
嗯,這是一個編碼風格的問題。一般來說,如果你可以使用Python庫來執行特定的任務,可以通過Bash命令使用它。 – linusg
是的,運行* one *程序而不是* many *程序有一個巨大的優勢。 – chepner
好吧,python需要這些庫。不像你可以使用直蟒蛇。 – user2171775