我想从有经验的人做更多的信息做网络报废一般情况下,我正在使用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