【问题标题】:Web Scrape live chaning data网络抓取实时变化的数据
【发布时间】:2021-03-11 19:15:38
【问题描述】:

我对网络抓取很陌生。使用静态内容很容易,但我想知道是否有办法抓取这样的网站: https://threatmap.checkpoint.com/

我需要从该站点抓取所有实时攻击。但我什至不知道如何开始。

【问题讨论】:

  • 你试试像cheerio这样的抓取库吗?
  • 我尝试了美味的汤。但对于动态内容来说似乎并不好。 Cheerio 能解决这个问题吗?
  • 如果动态内容位于相同的元素中,您可以通过 html 标签或 ids 进行抓取。

标签: javascript html web websocket screen-scraping


【解决方案1】:

有时您根本不需要刮擦
但请深入研究机制。

本站使用内置Browser Fetch API

您只需要从以下来源解码:
https://threatmap-api.checkpoint.com/ThreatMap/api/feed

下面是一个示例 fetch 调用:

fetch("https://threatmap-api.checkpoint.com/ThreatMap/api/feed", {
  "headers": {
    "accept": "text/event-stream",
    "accept-language": "en-US,pt;q=0.9,en-US;q=0.8,en;q=0.7",
    "cache-control": "no-cache",
    "sec-ch-ua": "\"Google Chrome\";v=\"89\", \"Chromium\";v=\"89\", \";Not A Brand\";v=\"99\"",
    "sec-ch-ua-mobile": "?0",
    "sec-fetch-dest": "empty",
    "sec-fetch-mode": "cors",
    "sec-fetch-site": "same-site"
  },
  "referrer": "https://threatmap.checkpoint.com/",
  "referrerPolicy": "strict-origin-when-cross-origin",
  "body": null,
  "method": "GET",
  "mode": "cors",
  "credentials": "omit"
});

这是一个示例事件:
{"a_c":1,"a_n":"DNS Enforcement Violation","a_t":"exploit","d_co":"SE","d_la":63.8284,"d_lo":20.2597,"d_s":"AC","s_co":"US","s_lo":-73.9712,"s_la":40.7428,"s_s":"NY","t":null}

这在视觉上似乎意味着:

  • 说明:DNS 强制违规
  • 种类:利用
  • 目标国家/州:SE/AC - Lat/Lon:63.8284, 20.2597
  • 来源国家/州:美国/纽约 - 纬度/经度:40.7428,-73.9712

【讨论】:

  • 非常感谢。那就是我正在寻找的东西:)
  • 欢迎。另外,不要忘记将此标记为已回答!
猜你喜欢
  • 2020-08-02
  • 1970-01-01
  • 2014-12-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多