2012-01-17 153 views
1

我正在写python代码来解析来自http://www.istockphoto.com/的数据,它似乎是从搜索生成的URL似乎是伪随机;例如,如果你做'照片'搜索'喵'你会得到的网址:http://www.istockphoto.com/search/text/meow/filetype/photos/source/basic#e2430b3伪随机的URL生成

我仔细看过源代码,但因为我不太了解PHP/JavaScript(我认为这是如何生成URL),我无法弄清楚哪些代码行生成此URL。有人能请我指出正确的方向,并告诉我哪些代码行负责网址?

+3

它可能只是一个内部的标识符,保持一段时间来引用该搜索。不必是伪随机的,也可以是顺序的。 – Joey 2012-01-17 12:45:58

+0

'#'后面的部分可能是用于AJAX分页的。每次您点击页码时,它都会发生变化。 – 2012-01-17 13:29:31

+0

从我可以告诉,#后面的部分是每个特定的搜索相同的标识符 – Constantino 2012-01-17 14:02:05

回答

4

这不是一个(伪)随机URL,如第一部分显然是为您的搜索独特:http://www.istockphoto.com/search/text/meow/filetype/photos/source/basic

最后一部分,#e2430b3只是一个锚某个页面上,或者通过一些脚本使用。 查询不使用它,因为您可以在没有这个部分的情况下键入url,它的工作原理是一样的。

这部分或许可以被服务器用作缓存标识符,以加速重复请求。

+0

我确实看到我不需要#后的最后一部分以获得结果;然而,如果我想得到结果的其他页面,那么我确实需要这部分。这就是我所追求的最终目标,能够访问所有搜索结果的所有网址,无论其中有多少网址。为此,我怀疑我确实需要#后面的部分。有什么想法吗? – Constantino 2012-01-17 14:00:25

+0

实际上这个网站使用了很多javascript来显示好的页面,没有它就完全没有用!很难做到你想做的事情,即使你可以做到,网站上的小改动也会破坏你的程序。尝试查看网站是否有某种API访问照片,这将是更简单的方法。 – Geoffroy 2012-01-17 15:37:23