【问题标题】:Can I block redirecting my request to mobile site when crawling?我可以在抓取时阻止将我的请求重定向到移动网站吗?
【发布时间】:2020-01-29 07:47:04
【问题描述】:

我正在尝试使用 axios 从网站抓取数据。 可以在电脑上使用,但在手机上没有任何数据。

我发现它被重定向到具有不同模板的移动网站。

我尝试将user-agent 设置为PC,但它似乎已自动更改为移动设备。

async function getData(url) {
  return axios({
    method: 'get',
    url:  url, 
    headers: {
      'User-Agent' : 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36'
    }
  })
    .then((response) => ...)

有没有办法解决这个问题?

【问题讨论】:

    标签: javascript http vue.js web-crawler axios


    【解决方案1】:

    尝试通过

    headers: {
      'User-Agent' : 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36',
      'viewport-width' : 1536,
      'viewport-height' : 763
    }
    

    【讨论】:

    • 啊,我收到 CORS 错误...从源 'localhost:8080' 访问 {{URL}} 处的 XMLHttpRequest 已被 CORS 策略阻止:对预检请求的响应未通过访问控制检查:请求的资源上不存在“Access-Control-Allow-Origin”标头。
    猜你喜欢
    • 2015-01-27
    • 1970-01-01
    • 1970-01-01
    • 2013-02-02
    • 1970-01-01
    • 1970-01-01
    • 2021-09-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多