在网页抓取过程中发现奇怪,无休止的XHR请求

时间:2015-10-01 09:55:26

标签: javascript web-scraping xmlhttprequest google-chrome-devtools

我打算从stooq.pl网页上删除库存数据。我发现它们是实时更新的,因此必须要有一些AJAX请求才能完成,而且只需分析这个XHR而不是每隔~1秒为新数据抓取网页就更容易了。然而,我发现的是一个奇怪的请求(唯一存在的):1。(几乎)永远不会结束; 2.直接在浏览器中打开时,返回ERR_EMPTY_RESPONSE。然而,不知何故,网页上的数据得到了更新。我试图对缩小的js进行逆向工程,但没有引起我的注意。这是什么样的巫术,我能否按预期工作

以下是我测试的示例网页的网址,工作中请求的屏幕截图以及chrome dev-tools的请求数据:

http://stooq.pl/q/?s=eurpln&c=10d&t=l&a=ln&b=0

endless ghost-request

**General**
Remote Address:178.32.86.87:80
Request URL:http://aq.stooq.net/?q=aqdat1+wig201+eurpln3+grl1+cig1+usdpln1+chfpln1+eurusd1+gbppln1
Request Method:POST
Status Code:200 OK

**Response Headers**
HTTP/1.1 200 OK
Date: Thu, 01 Oct 2015 09:37:25 GMT
Server: Apache
Expires: Sat, 1 Jan 2000 12:00:00 GMT
Cache-Control: no-store, no-cache, must-revalidate
Pragma: no-cache
Access-Control-Allow-Origin: *
Keep-Alive: timeout=3
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: text/event-stream

**Request Headers**
POST /?q=aqdat1+wig201+eurpln3+grl1+cig1+usdpln1+chfpln1+eurusd1+gbppln1 HTTP/1.1
Host: aq.stooq.net
Connection: keep-alive
Content-Length: 0
Accept: text/event-stream
Origin: http://stooq.pl
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36
Content-type: application/x-www-form-urlencoded
Referer: http://stooq.pl/q/?s=eurpln&c=10d&t=l&a=ln&b=0
Accept-Encoding: gzip, deflate
Accept-Language: pl,en-US;q=0.8,en;q=0.6,es;q=0.4

**Query String Parameters**
q=aqdat1+wig201+eurpln3+grl1+cig1+usdpln1+chfpln1+eurusd1+gbppln1

1 个答案:

答案 0 :(得分:3)

这是你的线索:

Content-Type: text/event-stream

这是一种通过普通的旧HTTP连接从服务器传输数据的标准化方法。

https://html.spec.whatwg.org/multipage/comms.html#server-sent-events