Java web验证码
我用JSoup用Java为Google Scholar制作了一个网页刮板。scraper搜索学者的DOI并找到本文的引文。研究需要这些数据 但是,刮刀只适用于第一个请求。。 之后,scraper会在Scholar站点上遇到验证码 但是,当我在浏览器(Chrome)中打开网站时,Google Scholar会正常打开 这怎么可能?所有请求都来自同一IP地址! 到目前为止,我已经尝试了以下选项:Java web验证码,java,web-scraping,jsoup,google-scholar,Java,Web Scraping,Jsoup,Google Scholar,我用JSoup用Java为Google Scholar制作了一个网页刮板。scraper搜索学者的DOI并找到本文的引文。研究需要这些数据 但是,刮刀只适用于第一个请求。。 之后,scraper会在Scholar站点上遇到验证码 但是,当我在浏览器(Chrome)中打开网站时,Google Scholar会正常打开 这怎么可能?所有请求都来自同一IP地址! 到目前为止,我已经尝试了以下选项: 为请求选择随机用户代理(从5个用户代理列表中) 请求之间的随机延迟在5-50秒之间 使用TOR代理。然
- 为请求选择随机用户代理(从5个用户代理列表中)
- 请求之间的随机延迟在5-50秒之间
- 使用TOR代理。然而,几乎所有的终端节点都已经被谷歌屏蔽了
谢谢大家! 我突然想到三件事:
我认为第一个是最有可能的选择。您应该尝试将从Chrome请求中看到的尽可能多的头复制到java代码中 你的第一点修正了它!我查看了Chrome发出的请求,并在JSoup scraper中复制了所有的头和cookie值。非常感谢。