我使用JSoup为Google Scholar for Java制作了一个网络抓取工具。刮刀搜索学者的DOI并找到本文的引文。研究需要这些数据。
但是,刮刀仅适用于第一个请求。 .. 之后,刮刀在学者网站上遇到了验证码。
但是,当我在浏览器(Chrome)中打开网站时,Google学术搜索会正常打开。
这怎么可能?所有请求都来自同一个IP地址! 到目前为止,我尝试了以下选项:
当我分析Chrome向学者提出的请求时,我发现Cookie与某些会话ID一起使用。可能这就是Chrome请求未被阻止的原因。是否可以将此cookie用于使用JSoup进行的请求?
谢谢!
答案 0 :(得分:2)
有三件事情浮现在脑海中:
我认为第一种是最有可能的选择。您应该尝试将Chrome中请求中看到的多个标头复制到您的java代码中。