用 puppeteer 更改 IP 地址似乎不起作用。我错过了啥吗?
Posted
技术标签:
【中文标题】用 puppeteer 更改 IP 地址似乎不起作用。我错过了啥吗?【英文标题】:Change IP adress with pupperteer doesn't seems to work. Am I missing something?用 puppeteer 更改 IP 地址似乎不起作用。我错过了什么吗? 【发布时间】:2022-01-05 03:05:54 【问题描述】:我目前正在尝试使用 node 和 puppeteer headless chrome 进行网络抓取。我使用一个投票网站,在那里你只能投票 1 次/小时,而我正在尝试投票更多(例如 10 次/小时)。为此,我使用不同的 IP 地址和不同的用户代理。 但是,问题是,当我切换 IP 时,它似乎不起作用(我无法进行其他投票)并且当我检查我的 IP 时(在某些网站上,如 https://ipcost.com/),我看到了我的真实 IP 地址。
这是我用来实现此目的的代码:
const chromeOptions =
headless:false,
defaultViewport: null,
args: [
'--disable-features=IsolateOrigins,site-per-process',
'--flag-switches-begin --disable-site-isolation-trials --flag-switches-end',
'--disable-features=UserAgentClientHint',
`--proxy-server=http=user::passwordx@ip:port`
]
(async() =>
const browser = await puppeteer.launch(chromeOptions);
....
)()
;
这是我第一次从事网络抓取工作,并且我使用这样的代理。 我无法找到我的问题的任何答案,我想我遗漏了什么或者我做错了什么。
提前感谢您的帮助
【问题讨论】:
【参考方案1】:好的,我得到了答案。 事实上 pupperteer 并不管理身份验证代理请求 所以我改变了
`--proxy-server=http=user::passwordx@ip:port`
通过
`--proxy-server=http://ip:port`
并添加
await page.authenticate(
username: 'username',
password: 'password'
)
【讨论】:
以上是关于用 puppeteer 更改 IP 地址似乎不起作用。我错过了啥吗?的主要内容,如果未能解决你的问题,请参考以下文章