gpt4 book ai didi

javascript - 如何在服务器上运行浏览器功能?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:03:45 25 4
gpt4 key购买 nike

我有一个网站,可以分析来自社交媒体的一些内容
或其他网站,以保持信息最新。你知道Instagram不会
使用“beatifulsoup python parser”或其他方法,因为您必须登录,并且必须能够运行js,否则将无法加载。其他人也会这样。
出于这个原因,我在客户端运行了一些js脚本,使用google chrome控制台,这个脚本将数据保存在本地存储中。
问题是有时我的网速很低,或者我必须在我的电脑上运行这个脚本,这需要很多时间。也许不多,但每天都在做,这就成了真正的问题。
我想在服务器端完成这项工作,总有很高的网速,而且我可以随时用手机启动脚本
或者在任何地方,我都在想如何实现。
我需要一个服务器端的浏览器,它可以运行js,而且一切都和客户端一样。
启动浏览器
等待页面加载
运行一些js脚本
大多数服务器没有图形界面,只返回html代码。
但是有很多主机服务、java服务器等等,不仅仅是apach或者nginx。在Java上,我知道你可以创建自己的浏览器,
所以在服务器上运行浏览器功能是有可能的。
问题是,有没有现成的工具,我可以使用,或者也许写这种功能,但使用库,框架能够写得尽可能快,不花很多时间。因为我没有工作,要在服务器端创建浏览器,我只想能够运行一些js。
我使用php,js,python。客户机上只有Java SE和。javaee有很多库和大量的能力。也许有人知道哪种语言
我可以意识到这一点。任何框架,或者Linux上都有可能,或者有一个可以作为客户端运行的主机服务器,我认为有些公司会做这种工作来自动完成一些工作。
我在想幻影或nodejs,但我对他们来说是新的,我想我会花很多时间而没有结果。
任何建议,链接,意见,想法都会对我有很大帮助,谢谢!!!
enter image description here
phantomjs确实可以工作,但是您不能使用phantomjs登录,可能是因为它不保存cookie或会话数据,或者可能没有头,所以不要使用web刮板程序,只需在服务器上使用真正的浏览器。
phantomjs真的很不舒服,不方便什么的,因为测试你没有得到任何信息,它需要太长的时间,你不能只运行js脚本。

page.evaluate(function() {

setTimeout(function(){ document.getElementById("login").click(); console.log("click initialized"); }, 1000);
});

在evaluate中设置超时似乎不起作用,即使检查它也需要很多时间
page.evaluateJavascript(function() {

});

评估JavaScript会被卡住(它不会运行幻像。退出(0)),你必须重新启动CMD并转到CD并再次键入所有的COMMAND。
非常简单的操作会产生巨大的问题。我不知道为什么要创建phantomjs,仅仅是为了捕获或做一个非常简单的工作人员。即使来自phantomjs的解析器也很满。没有教程,没有用。没有图形界面,脚本里面的求值好像运行js的方式不正确,很难识别和学习它是如何在里面工作的。无论何时它返回空行或仅返回空行,您都没有任何访问权限、任何信息。没有错误,什么都没有。是不是很流行,我不知道,我以前听说过幽灵,看起来什么都没有,丑陋,没用。
我在想webdriver比如selenium,不需要在客户端运行selenium,在服务器上运行似乎有点贵。没有主机会给你一个带有gui的vds,而不是ubuntu服务器,因为你需要浏览器。
我意识到没有办法
我有一个在js上工作的脚本,它有一个多功能,不仅仅是解析,还有一个bot,它分析用户数据,跟踪,展开,发布数据,运行抛出用户。问题是“如何在服务器上运行浏览器功能”,我只想一次为服务器上的100个帐户启动一个程序来模拟浏览器,但我想这是不可能的。也许我会以“没有解决方案,您不能在服务器上运行浏览器”的解决方案来结束这个问题。使用webdriver太贵了。没有程序,对于webdrivers你可以同时使用例如:chrome,firefox,opera,yandex等等,但它们也使用了大量的ram,这在vds服务器上太贵了。

最佳答案

我想你可以使用phantomjs,我已经用它完成了许多需要登录或js加载操作的蜘蛛。
您可以使用phantomjs登录,它可以设置cookie、会话数据和请求头。您只需搜索方法,如下所示:
phantomjs login Instagram
当您使用phantomjs时,最重要的是每次您想执行下一步时,都必须确保页面或相关元素加载完成。由于页面或js加载需要速度时间,有时还需要发送额外的参数来获取页面加载,否则如果没有相关元素,就无法启动下一步。

关于javascript - 如何在服务器上运行浏览器功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52380351/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com