2017-03-02 32 views
0

我想從有經驗的人做更多的信息做網絡報廢一般情況下,我正在使用Python庫進行網絡報廢。同時,我注意到有些人使用簡單的Bash,並使用網絡報廢命令,如wget, curl, sed, grep, awk使用Bash腳本來通過python庫進行web報廢?

這些命令在腳本編寫方面似乎比使用Python庫進行Web報廢要乾淨得多。

你對此有何看法?你看到使用Python庫而不是Bash的好處嗎?甚至使用Python與Bash來完成網絡報廢?

+1

嗯,這是一個編碼風格的問題。一般來說,如果你可以使用Python庫來執行特定的任務,可以通過Bash命令使用它。 – linusg

+0

是的,運行* one *程序而不是* many *程序有一個巨大的優勢。 – chepner

+0

好吧,python需要這些庫。不像你可以使用直蟒蛇。 – user2171775

回答

1

BeautifulSoupRequests是用於編程式抓取的最佳工具。它們被廣泛使用,經常更新,並集中於易用性(請求的座右銘是HTTP for Humans)。

+0

你有沒有看過什麼可能與捲曲或得到?用一行命令? – user2171775

+2

大多數有經驗的程序員都熟悉curl並獲得。關鍵是使用python更易於使用,更易讀,更易於維護。整個行業的專業人士都有使用它的原因。如果你只是需要一個腳本來從互聯網上獲得一個頁面,通過一切手段使用bash。但bash是否有數據庫驅動程序?它有模塊嗎?使用python有很多優點。 –

+1

我認爲Python的另一個優點是JSON作爲一種數據格式已經變得更加普遍。當然,對於一次下載網頁,curl是一個戰鬥頑強的工具,但想象一下使用'curl'和其他unix工具來爬取REST API?你可以花時間學習'jq'的語法,或者你可以使用'requests',調用'r.json()'並完成你的任務。 – thaavik

0

使用Python,您還可以使用Selenium和PhantomJS等無頭瀏覽器來刮取使用JavaScript呈現的網站。也許這對於bash腳本也是可行的,但是你的代碼越多,python恕我直言的清晰度就越大。

+0

謝謝,我沒有想過處理JavaScript。 – user2171775