使用Axios调用Google Scholar接口返回404错误,求助解决
解决Axios调用Google Scholar返回404的问题
你遇到的问题大概率是Google Scholar的反爬机制在起作用——除了User-Agent,它还会验证更多请求头信息,或者检查请求的上下文是否匹配真实浏览器行为。试试下面的解决办法:
- 复制浏览器完整请求头:打开Chrome开发者工具(按F12),切换到Network标签找到该请求,复制所有Request Headers字段,把它们全部加到Axios的headers配置里。重点要包含
Cookie、Accept、Accept-Language、Referer这些字段,Google Scholar会通过这些信息判断请求是否来自真实浏览器。 - 修正URL转义字符:你的URL里用了
&,建议直接替换成&,确保实际发送的URL和浏览器里的完全一致:let url = 'https://scholar.google.co.in/citations?user=sGJSZ1AAAAAJ&hl=en&cstart=0&pagesize=1000'; - 确认Axios重定向设置:Axios默认会跟随重定向,可显式配置确保没有问题:
let response = await axios.get(url, { headers: { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", "Accept-Language": "zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2", "Referer": "https://scholar.google.co.in/", "Cookie": "这里复制Chrome中该请求的Cookie内容" }, maxRedirects: 5, followRedirect: true });
⚠️ 注意:Google Scholar没有公开的官方API,未经授权的抓取可能违反其服务条款,建议谨慎操作。
内容的提问来源于stack exchange,提问作者Rishith Reddy
相关产品推荐
相关产品推荐

