2017-03-02 33 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