Facebook知道我在用PhantomJS刮它吗?它能改变它的网站来对付我吗?

2024-06-26 03:21:39 发布

您现在位置:Python中文网/ 问答频道 /正文

所以,也许我有点偏执。在

我在用PhantomJS来做一个业余爱好项目。基本上,我编写了一个程序,它通过查询页面中的文本Sponsored在phantom的page.evaluate块中查询文本Sponsored。文本显示为htmla元素的innerHTML。在

几天来一切都很顺利,它发现了大量的广告

然后它停止返回任何结果。在

当我手动登录Facebook再次检查元素时,我发现单词Sponsored现在出现在页面上的一个具有css属性content: sponsored::after伪类元素中。这意味着文本的XPATH查询不再产生任何结果。不是开玩笑,Facebook在被刮了几天之后似乎改变了这个词的表达方式。在

偏执狂。我告诉过你。在

因此,我向Javascript、Web抓取和PhantomJS开发人员社区提出这个问题。到底是怎么回事。Facebook能知道我的PhantomJS程序在page.evaluate块内做什么吗?在

如果是,怎么办?例如,我的幻影命令会出现在嵌入页面的键记录程序中吗?在

你的一些理论是什么?在


Tags: 项目文本程序元素facebookpage页面手动
1条回答
网友
1楼 · 发布于 2024-06-26 03:21:39

即使用户代理被欺骗,也完全可以检测到幻影。 它与其他浏览器有许多不同之处,其中包括:

  • 标题顺序错误
  • 缺少媒体插件和最新的JS功能
  • PhantomJS特定方法,如window.callPhantom
  • 堆栈跟踪中的PhantomJS名称

还有很多其他人。在

有关详细信息,请参阅这篇优秀的文章和链接的演示文稿:https://blog.shapesecurity.com/2015/01/22/detecting-phantomjs-based-visitors/

也许puppeteer更适合您的需求,因为它基于真正的尖端铬浏览器。在

相关问题 更多 >