0

在优惠券网站上,有人发布了一个用于查找 Godaddy 折扣代码的shell 脚本。

1 - 有人可以解释这个脚本是如何工作的吗?

具体来说,我对语法感到困惑:

links url -dump | grep AI

2 - shell 脚本是否允许您像 perl/python/ruby 那样爬取站点?

3 - 是实现预期目标的最有效方法还是 perl/python/ruby 是用于此任务的更有效技术?

4 - 这是道德/合法的吗?

#!/bin/sh

gdaddy=600
while [ "$gdaddy" -lt "700" ]
do

for i in a b c d e f g h i j k l m n o p q r s t u v w x y z
do
echo "The results for gdr0$gdaddy"a"$i" >> output
links http://www.godaddy.com/default.aspx?isc=gdr0$gdaddy"a"$i -dump | grep -A1 "SPECIAL OFFER" >> output
echo >> output
echo >> output
done

gdaddy=`expr $gdaddy + 1`
done
4

4 回答 4

6

1. links是一个基于文本的网络浏览器。该-dump命令links将网页的文本输出到终端,以下grep命令输出任何包含“SPECIAL OFFER”字样的行和以下行(-A1意思是“和之后的1行”)。

2.可以使用 shell 脚本来爬取站点,通过使用links或类似的方式来获取网页并输出它们的 URL。(我已经这样做了,用于网站拼写检查脚本。)

3.使用你最喜欢的任何工具。就我个人而言,我更喜欢 Python 来处理这种事情,但正如我所说,我使用 shell 脚本来完成它。

4.合法吗?问律师。道德的?问你的良心。

于 2009-07-13T21:29:04.430 回答
3

法律和道德

  • 假设您在美国,没有任何法律限制通过您的脚本访问网站。
  • 这些页面未在robots.txt.
  • 尤其是对于 godaddy,这不是道德问题……当我将注册服务转给他们时,我拨打了他们的销售电话,告诉他们我想做什么,他们在电话中告诉我最好使用的代码。
于 2009-07-13T21:50:46.477 回答
0
  1. 转储为 URL 返回的内容,其中最后一个字母替换为 az,并在其中找到包含“SPECIAL OFFER”的行。用换行符填充它。

  2. 是的,使用链接、wget、telnet 等实用程序。

  3. 对于不要求这样的事情(遍历一小组 URL)已经足够了

  4. 这取决于网站的服务条款和您的立法。

于 2009-07-13T21:30:43.150 回答
0

合法性与您居住的地方有关。咨询法律专业人士。

道德 - 如果你不得不问,那不是。=)

于 2009-07-13T21:43:56.070 回答