【问题标题】:Scraping websphere website using node js with encrypted value使用具有加密值的节点 js 抓取 websphere 网站
【发布时间】:2018-07-04 12:15:32
【问题描述】:

我正在抓取网站,这是在 websphere 上制作的。

我看到每当用户登录时,它会在到达主页时点击 4 个 url。

在第三个 URL 中,它有一些看起来像这样的加密值

 L0lDU0NTSUpKZ2tLQ2xFS0NXXXXXXXXXXXXXXXXXXX..XXXXXXXXXvZD1vbkxvYWQ!

网址如下所示:

   http://example.com/escares/wps/myportal/!ut/p/c1/XXXXXXXXXX/dl2/d1/L0lDU0NTSUpKZ2tLQ2xFS0NXXXXXXXXXXXXXXXXXXX..XXXXXXXXXvZD1vbkxvYWQ!

问题是,我注意到每次登录时只有加密值会发生变化。

websphere 中是否有任何算法可以生成这种 url ?或者有什么方法可以复制这个加密值?

有没有人在 websphere 网站上进行过抓取/抓取

【问题讨论】:

  • 不,这看起来不像任何默认的 wordpress 行为(并且可能与 wordpress 无关)。
  • 如果你能确认这是wordpress url 吗? example.com/escares/wps/myportal 左右?
  • 不是 Wordpress。可能是 IBM 的 WebSphere Portal。

标签: node.js web-scraping web-crawler websphere


【解决方案1】:

wps/myportal 建议使用Websphere web portal login。您看到的“加密”URI 很可能是用于维护用户登录会话的哈希。

复制此内容的最佳方法是supply your web scraping program with a username and password 访问网站的门户部分,以便它可以在抓取时发布登录信息。网站本身将生成会话信息。您将需要指示您的抓取应用程序遵循生成的任何动态 URL。通常这是通过在登录后跟踪服务器提供的 HTML 中的任何 URL 来完成的。

例如,scrapy 可以配置为在抓取时跟随目标页面中的任何 URL:

https://doc.scrapy.org/en/latest/intro/tutorial.html#following-links

虽然您正在使用自己的解决方案来为登录用户抓取门户的内容,但希望我的示例中说明的逻辑和进展有助于引导您朝着正确的方向前进,以解决似乎是会话/cookie 存储的问题问题。

【讨论】:

  • 其实我是通过http请求来做的。所以我要做的是:我使用 form-urlencoded 请求登录到该网站。它还生成令牌和会话。但网站在转到主页之前使用 2-3 个 url。问题是:那些 url 有散列的 ids。我试图弄清楚他们是在回应。但是没有。有没有其他办法?
  • 那么在到达首页之前有2-3个HTTP重定向?这些 URL 上是否有任何需要捕获的数据?通常,这些重定向负责在客户端设置 cookie 以跟踪会话。如果您需要使用爬虫跟踪会话,请考虑 scrapy 如何跟踪每个运行的蜘蛛的会话 cookie:stackoverflow.com/questions/4981440/…
  • 您能告诉我您使用的是什么抓取软件吗?还是您正在尝试自己编写?我提供了一个名为 scrapy 的有据可查的网络抓取框架的示例,因为它非常易于使用并且已经解决了许多常见挑战,例如您所面临的挑战。
  • 我正在自己尝试这个。另外,我确实收到了对这些 2-3 重定向的请求。网站中的所有 cookie 都由此设置。但我无法得到的是:带有该哈希的网址。因为它不断变化以进行新的登录。
  • 哈希在定义上是唯一的,它将存储在客户端的cookie与服务器上的会话信息联系起来。 WebSphere 服务器负责创建散列,因此您需要在代码中以某种方式捕获它。您在登录时是否查看过新 cookie 的内容并将其与 URL 进行比较?每个经过身份验证的会话都将具有唯一的哈希作为会话标识符,并且您的抓取项目将需要处理关联会话哈希和/或会话 cookie,以便它可以访问经过身份验证的客户端可见的资源。
【解决方案2】:

虽然 Chris 已经回答了这个问题并且对我有所帮助。

这一行

通常这是通过在登录后跟踪服务器提供的 HTML 中的任何 URL 来完成的。

只想用 Node js 更新。请求模块和cheerio 可以实现相同的目的,以解析Node JS 中的html(作为响应)。

附: :如果有人在寻找我在哪里找到该动态 url,我发现它以 HTML 形式出现在我的回应中。就是那个表格的动作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-03-22
    • 1970-01-01
    • 2018-12-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多