4

I am trying to download a page which has infinite scroll when obtaining the resutls. I have found the url of the ajax source. When i put it on a browser it works fine and it returns the json format data. But when i try to download the page through wget, i get Access denied message. Do you have any idea why is this happening?

the command i am using is:

wget --cookies=on --load-cookies=cookies.txt --keep-session-cookies --user-agent=Firefox \
    "https://www.somesite.com/ajax/pagelet/generic.php/pagination?data={"collection_token":"...","cursor":"...","tab_key":"....","profile_id":"...","overview":"...","ftid":"null","sk":"..."}&__user=...&__a=1"
4

3 回答 3

1

有两种方法可以解决它。

一种是使用像 PhantomJs 这样的库在 webkit 中渲染页面的 DOM 树,并在进行评估之前滚动页面。

第二种方法是在后台Ajax调用中找出模式并调用实际的AJAX端点

于 2013-11-29T10:15:50.523 回答
0

一方面,你有一个引用问题。该 URL 包含双引号,因此您需要使用反斜杠对其进行转义,或者使用单引号将 URL 括起来。

wget --cookies=on --load-cookies=cookies.txt --keep-session-cookies --user-agent=Firefox \
    'https://www.somesite.com/ajax/pagelet/generic.php/pagination?data={"collection_token":"...","cursor":"...","tab_key":"....","profile_id":"...","overview":"...","ftid":"null","sk":"..."}&__user=...&__a=1'
于 2013-04-01T18:23:53.360 回答
-1

使用 wget 时,您正在向页面发送 GET 请求,但 AJAX 使用 POST 请求。当您使用 python 时,使用urllib2创建 POST 请求通常可以解决问题。如果您需要进一步的帮助,请告诉我。

于 2013-04-01T18:25:44.463 回答