-
-
Notifications
You must be signed in to change notification settings - Fork 739
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Question] Using evasion code in vanilla Puppeteer #386
Comments
@liweixi100 Thanks! I do understand the concern to introduce a new project into an existing system, especially if it's used in production. One of the reasons the extra project became quite popular is that we've been continuously updating it over the past 3 years (next to removing the voodoo aspect of this stuff by adding before & after tests for every single evasion). Hard-coding a specific solution might solve your immediate problem but it's only a matter of time until a site improves on their antibot and you'd be back on square one. :-) In regards to your code related issue: Stuff in |
Really appreciate the quick reply! I am very interested in switching over to Best regards! |
@liweixi100 there's one evasion known to potentially cause problems on ad-heavy sites, if you want to play it safe you can proactively disable it: #137 (comment) |
Noted. Thanks a lot for the heads-up! |
Kudos for creating such a versatile and high quality framework.
We have an existing Puppeteer based scraper that targets thousands of sites. Due to the requirement on stability and compatibility, we're a bit hesitant to introduce puppeteer-extra into our code base.
One issue we are trying to resolve is a single site that employs BOT detection: https://www.agl.com.au/about-agl/media-centre
puppeteer-extra-plugin-stealth worked beautifully for this site, and we were able to pinpoint the evasions needed: 'navigator.webdriver' and 'user-agent-override'. Working code:
But when we implemented these techniques in vanilla Puppeteer, the code failed to work:
My questions are:
Did I make any mistakes in the non-working code?
What was the difference between the two pieces of code above?
What kind of internal mechanism that the puppeteer-extra framework employs that could result in the above difference?
Any insight will be greatly appreciated!
The text was updated successfully, but these errors were encountered: