๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ‘จ๐Ÿผ‍๐Ÿ’ป๊ฐœ๋ฐœ/์…€๋ ˆ๋‹ˆ์›€

์…€๋ ˆ๋‹ˆ์›€ - navigator.userAgentData ๋ชจ๋ฐ”์ผ๋กœ ์œ„์žฅํ•˜๊ธฐ

by Janger 2022. 10. 11.
728x90
๋ฐ˜์‘ํ˜•
์ฐธ๊ณ 

https://economytrendstory.com/1174

 

ํฌ๋กฌ ์ž๋™ํ™” ํˆด selenium์€ ํƒ์ง€ํ•˜๋Š” ๋ฒ• 4๊ฐ€์ง€

selenium์€ ํƒ์ง€๊ฐ€ ๋ถˆ๊ฐ€๋Šฅ ํ• ๊นŒ์š”?์–ด๋–ค ๋ฐฉ์‹์œผ๋กœ ์…€๋ ˆ๋‹ˆ์›€์„ ํƒ์ง€ ํ•  ์ˆ˜ ์žˆ์„์ง€ ํ™•์ธํ•ด๋ณด์•˜์Šต๋‹ˆ๋‹ค. navigator.webdriver ํ™•์ธClient hints, navigator.userAgentData ํ™•์ธchromedriver ํƒ์ง€๋ธŒ๋ผ์šฐ์ € ์ง€๋ฌธ(browser fingerprin

economytrendstory.com

 

๋ฐฉ๋ฒ• 1. ๊ฐœ๋ฐœ์ž ๋„๊ตฌ(F12)์—์„œ "๊ธฐ๊ธฐ ํˆด๋ฐ” ์ „ํ™˜" ์‚ฌ์šฉ

์œ„์˜ ๊ธ€์„ ๋ณด๋ฉด navigator.userAgentData์•ˆ์— ์žˆ๋Š” mobile, platform ๊ฐ™์€ ๊ฐ’์„ ๋ณ€๊ฒฝํ•˜๋Š” ๊ฒŒ ํž˜๋“ค๋‹ค๊ณ  ์–ธ๊ธ‰์„ ํ•˜๋Š”๋ฐ ์˜์™ธ๋กœ ์šฐํšŒํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ๊ฐ„๋‹จํ•˜๋‹ค. (๊ธฐ์กด์—๋Š” mobile=false, platform='Windows'์ฒ˜๋Ÿผ ๋‚˜์˜ด)

 

๋งŒ์•ฝ navigator.userAgentData.mobile์„ true๋กœ navigator.userAgentData.platform์„ 'Android'๋กœ ์ˆ˜์ •ํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด

F12 ๊ฐœ๋ฐœ์ž ๋„๊ตฌ์—์„œ ๊ฐ€์žฅ ์™ผ์ชฝ์—์žˆ๋Š” ๋‘ ๋ฒˆ์งธ ๋ฒ„ํŠผ "๊ธฐ๊ธฐ ํˆด๋ฐ” ์ „ํ™˜"์„ ๋ˆ„๋ฅด๋ฉด ๋ชจ๋ฐ”์ผ์ฒ˜๋Ÿผ ๋ณด์ด๊ฒŒ ํ•  ์ˆ˜ ์žˆ๋‹ค. 

๋” ์ข‹์€ ๋ฐฉ๋ฒ•์€ ์ฝ”๋“œ๋กœ ๋ฐ”๊พธ๋Š” ๊ฑฐ์ง€๋งŒ ๋‚ด๊ฐ€ ์•Œ๊ธฐ๋กœ๋Š” ์ฝ”๋“œ๋กœ navigator.userAgentData๋ฅผ ๋ฐ”๊พธ๋Š” ๋ฐฉ๋ฒ•์€ ์—†๋Š” ๊ฒƒ์œผ๋กœ ์•„๋Š”๋ฐ, ๋งŒ์•ฝ ํ•„์š”ํ•˜๋‹ค๋ฉด ์œ„์˜ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•˜๋Š” ์ˆ˜๋ฐ–์— ์์„์ง€๋„

 

๋ฐฉ๋ฒ• 2. puppeteer ์‚ฌ์šฉํ•˜๊ธฐ

puppeteer๋„ ์…€๋ ˆ๋‹ˆ์›€์ฒ˜๋Ÿผ ํฌ๋กœ๋ฏธ์›€์„ ์‚ฌ์šฉํ•˜๋Š” ์ž๋™ํ™” ๋„๊ตฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ธ๋ฐ ์ด๊ฑด ๋˜ navigator.userAgentData ์ˆ˜์ •์ด ์ž˜ ๋œ๋‹ค. 

 

const page = await browser.newPage();
await page.setUserAgent('MyBrowser', {
  architecture: 'My1',
  mobile: false,
  model: 'Mybook',
  platform: 'MyOS',
  platformVersion: '3.1',
});

 

์ถœ์ฒ˜: 

https://stackoverflow.com/questions/73344280/how-to-overwrite-the-user-agent-client-hints-in-puppeteer

 

How to overwrite the User-Agent Client Hints in puppeteer?

I am facing an issue with dealing with the user-agent-client-hints. If you have no idea what User-agent-client-hints are then think of them as some request headers. (See the image below) I tried to

stackoverflow.com

 

728x90
๋ฐ˜์‘ํ˜•