我如何访问随机网站? - 蟒蛇

时间:2013-12-16 19:56:24

标签: python url random web browser

如何生成随机但有效的网站链接,无论语言如何。实际上,它产生的网站语言越多样化,就越好。

我一直在他们的网页上使用其他人的脚本来做这件事,我怎么能不依赖这些随机网站转发脚本并制作我自己的?。我一直在这样做:

import webbrowser
from random import choice
random_page_generator = ['http://www.randomwebsite.com/cgi-bin/random.pl',
                         'http://www.uroulette.com/visit']
webbrowser.open(choice(random_page_generator), new=2)

3 个答案:

答案 0 :(得分:7)

  

我一直在他们的网页上使用其他人的脚本来做这件事,我怎么能不依赖这些随机的网站转发脚本并制作我自己的?

有两种方法可以做到这一点:

  • 创建自己的spider,积累大量网站,并从该系列中挑选。
  • 访问一些预先存在的网站集合,并从该集合中进行选择。例如,DMOZ / ODP允许您download their entire database; * Google曾经拥有自定义的随机网站网址; **等。

没有别的办法(没有随机生成和测试任意字符的有效字符串,这将是一个非常糟糕的想法)。

为自己构建一个Web蜘蛛可能是一个有趣的项目。像Scrapy这样的链接驱动的抓取库可以为你做很多繁重的工作,让你写下你关心的部分。


*请注意,与Google或Yahoo相比,ODP是一个非常小的数据库,因为它主要是由人工编辑的重要网站集合,而不是任何人在网络上自动生成的所有内容。

** Google的随机网站功能受到受欢迎程度和您自己的搜索记录的影响。但是,通过向其提供空的搜索历史记录,您可以删除等式中的那一部分。无论如何,我认为它不再存在。

答案 1 :(得分:1)

概念性解释,而不是代码。

他们的脚本可能非常庞大和全面。如果它是一个随机的网站选择器,它们会逐行显示一个巨大的巨大的网站列表,而脚本只选择一个。如果它是随机URL 生成器,它可能会生成一串字母(例如“asljasldjkns”),将其插入http://.com之间,尝试查看它是否为有效的URL,如果是,则向您发送该URL。

最简单设计自己的方法可能是要求他们看看他们的,但我不确定你在那里取得的成功。

作为程序员的最佳方式只是破译URL语言的本质。练习构建字符串并测试它们,或者自己编译一个巨大的数据库。

作为杂交,您可以尝试构建两件事。一个脚本,在您离开时,搜索/测试URL并将它们添加到数据库中。另一个脚本,从该数据库中随机选择一行,以便在您的路上发送给您。你运行第一个的时间越长,第二个就越好。

编辑:Abarnert关于蜘蛛的事情,这比我的回答要好得多。

答案 2 :(得分:1)

其他答案建议建立大型的URL数据库,还有另一种方法,我过去曾使用过,并在此处记录:

http://41j.com/blog/2011/10/find-a-random-webserver-using-libcurl/

创建随机IP地址,然后尝试从该地址的端口80获取站点。这种方法对于现代虚拟托管站点并不完美,当然只能获取首页,但它可以是获取随机站点的简单有效方法。上面链接的代码是C,但它应该可以从python中轻松调用,或者该方法可以很容易地适应python。