当我在Instagram上使用Selenium时,如果我不使用Headless,它也可以正常工作。添加--headless选项将生成404页。
我想知道从现在起,我是否可以在Java中添加无头选项来抓取Instagram。
如果它有效,我会想办法做它并分享它。
无头浏览器正在检测机器人。使用user-agent
可以消除此问题。
options.addArguments("headless");
options.addArguments("window-size=1920,1280");
options.addArguments("user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36");
WebDriver driver = new ChromeDriver(options);
driver.get("https://www.instagram.com/");
#print title to verify this
System.out.println("Tile :" + driver.getTitle());
使用以下选项进行更新尝试。
options.addArguments("disable-blink-features=AutomationControlled");
options.addArguments("headless");
options.addArguments("window-size=1920,1280");
options.addArguments("user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36");
options.addArguments("--remote-debugging-port=9222");