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

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
有帮助吗?

解决方案

<强> 1 links是基于文本的Web浏览器。所述-dump命令使links输出的网页的文本到终端,并且以下grep命令输出一个包含词语“特别报价”和下面的行(-A1指“和1行后”)的任何行。

<强> 2 您可以的蜘蛛使用外壳脚本,通过使用links或类似来获取网页,并输出它们的URL的站点。 (我已经做到了这一点,对于一个网站拼写检查器脚本。)

3。使用任何工具,你是最幸福的有。我个人比较喜欢的Python这种事情,但正如我所说,我用shell脚本做到这一点。

<强> 4 法律?请了一个律师。道德吗?问问你的良心。

其他提示

法律和道德

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

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

  3. 对于诸如此类的要求不高的事情(遍历一小组 URL)来说已经足够了

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

合法性涉及您居住。请教一个法律专业。

伦理 - 如果你要问,这是不是。 =)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top