2

我被指示使用编写抓取某些网站的 UNIX shell 脚本。我们使用fiddler来跟踪 HTTP 请求,然后我们相应地编写cURL。在大多数情况下,抓取大多数网站似乎相当简单,但是我遇到了难以捕获某些信息的情况。

我需要笼统地说我无法提供我实际查看的网站地址,但是我可以发布一些请求和响应以提供上下文

情况如下:

该网站以搜索屏幕开始。您输入搜索查询,网站会返回结果列表。

我需要从结果页面中选择第一个结果。

我需要从第一个结果中捕获页面上的所有内容

到目前为止,一切都运行良好 这是问题所在:

返回的页面具有 wickets 的超链接。当这些链接被按下时,页面内会弹出一个窗口——它实际上并不是一个像由 javascript 创建的弹出窗口那样的窗口,它更类似于你在 Facebook 上“撰写消息”或“戳”某人时看到的内容(我是唯一一个仍然这样做的人吗?)。

我需要捕获该弹出窗口的内容。给定页面上通常有多个检票口链接。使用循环处理应该很容易,但我需要首先找出正确的方法来卷曲这些检票口。

这是我目前用来尝试刮取检票口的 cURL。

(我明确定义了引用 URL、Accept 和 Wicket-Ajax 布尔值,因为这些是我在跟踪站点时在标头中发送的项目)。链接是如下所示的 URL:

http://www.someDomainName.com/searches/?x=as56f1sa65df1&random=0.121345151

(我相信随机填充了一些javascript,不确定是否需要甚至可以重新创建。我目前正在发送我在一个特定场合收到的随机之一。)。

/bin/curl -v3 -b COOKIE -c COOKIE -H "接受:文本/xml" -H "引用者:$URL$x" -H "Wicket-Ajax: true" -sLf "$link"

这是我得到的回复:

<ajax-response><redirect><![CDATA[home.page;jsessionid=6F45DF769D527B98DD1C7FFF3A0DF089]]></redirect>
</ajax-response>

我期望返回一个包含实际内容的 XML 文档。对此问题的任何见解将不胜感激。如果您需要更多信息,请告诉我。

谢谢,保罗

4

0 回答 0