尝试通过lambda刮一个网站。它装的很好,装的是 chrome 和 puppet 。
然而,无论何时,都应该通过第三方JS脚本加载额外的内容。例如,插件example.js
将广告呈现给<div class="advertisments"></div>
,该广告存在于由输入类型触发的web内容中。假设行为是-
- 用户在输入中键入2个字母“re”。
example.js
将某些广告加载到.advertisments
div。
出于某种原因,我的 chrome 要么不允许这样的事情,要么只是忽略它。我的工作流程是
const page = await pupBrowser.newPage()
page.goto('example.com', { waitUntil: 'networkidle2'})
const input = await page.$('.someInput')
await input.type('re')
await delay(2000ms)
await page.waitForElement('.advertisments')
字符串
出于某种原因,我的广告是空的λ puppet chrome ,在本地 chrome 的工作。
我的论点是:
[
'--allow-running-insecure-content',
'--autoplay-policy=user-gesture-required',
'--disable-background-timer-throttling',
'--disable-component-update',
'--disable-domain-reliability',
'--disable-features=AudioServiceOutOfProcess,IsolateOrigins,site-per-process',
'--disable-ipc-flooding-protection',
'--disable-print-preview',
'--disable-dev-shm-usage',
'--disable-setuid-sandbox',
'--disable-site-isolation-trials',
'--disable-speech-api',
'--disable-web-security',
'--disk-cache-size=33554432',
'--enable-features=SharedArrayBuffer',
'--hide-scrollbars',
'--ignore-gpu-blocklist',
'--in-process-gpu',
'--mute-audio',
'--no-default-browser-check',
'--no-first-run',
'--no-pings',
'--no-sandbox',
'--no-zygote',
'--use-gl=angle',
'--use-angle=swiftshader',
'--window-size=1920,1080',
'--start-maximized'
]
型
1条答案
按热度按时间c0vxltue1#
正如评论者所建议的那样,我发现了类似的推理。
在本地PC上运行时,它的行为与在lambda上不同。正如我进一步发现的那样,简单的网站确实会阻止来自bot的流量(考虑lambda IP)。
简单地说,如果别人运行在类似的麻烦-使用傀儡隐身插件,否则分析网站。
由于我工作的网站-托管在shopify上,似乎没有简单的走动。