【问题标题】:Bypass the alert and error that occur while screen scraping绕过屏幕抓取时发生的警报和错误
【发布时间】:2009-03-05 06:12:54
【问题描述】:

我创建了一个网页来屏幕抓取一个网站,同时从另一个网站抓取;该站点上存在一些错误,因此它会引发错误(预期对象)。但最后我得到了完美的结果。

这表明错误发生在我的程序中。是否可以绕过这些错误(不在屏幕上显示它们)。我不想显示这些错误,并且在抓取时是否可以绕过警告框而不在屏幕上显示它。

请指导我。

【问题讨论】:

  • 如何对另一个网站进行屏幕截图会在您的网站中引发错误?您是否要显示报废的内容?
  • 是的,我使用 API 获取屏幕内容,然后解析内容并在我的站点中显示所需的内容
  • 嗯!!!版权问题???听起来不太好:)
  • 好奇你为什么选择在浏览器中抓取,而不是使用 php/curl 从服务器上抓取?

标签: javascript screen-scraping


【解决方案1】:

你可以尝试重定向 window.onerror:

var _oldonerror = window.onerror;
window.onerror = function(errorMsg,url,lineNr) { return true; };

【讨论】:

  • 请解释一下,这些行会做什么?会不会报错
【解决方案2】:

我不知道你是如何废弃网站的,我不知道,但如果你通过 eval 或类似的方式在 javascript 中安装内容,你可以尝试 try-catch 块:

try
{
   // your content injected to page here.
}
catch(err)
{
   alert(err.description);
}

或者您可以使用此正则表达式在包含到您的站点之前清除脚本元素:

(<script\b[^>]*>.*?</script>)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-02-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-11
    • 1970-01-01
    相关资源
    最近更新 更多