手机
问题描述:
我想这个从网站获取的数据从一个桌面(移动)获取数据:手机
$.get(wallpaperUrl, function(data) {
html = $(data).find(".photo").html();
wallpaper.img = $(html).find("img").attr("src");
$('#MainPanel').css('background-image', 'url(' + wallpaper.img + ')');
});
这在桌面上观看时,它的工作原理没有问题,但是当其运行在网站的移动版本上,由于移动视图没有包含网站的这部分内容,因此它完全混乱了。
有什么办法从移动网站上的桌面网站获取数据?我再次没有查看表格,我只是在抓取数据。我无法在移动网站上获得我想要的数据,我需要桌面网站。
答
有没有办法使一个AJAX请求的方式,使服务器认为你是一个不同的代理。根据请求者的代理服务器内容的所有网站不能被愚弄...
通常,虽然网站允许用户关注链接以查看桌面版本,您可以使用这些链接从移动版本获取桌面版本。其他人可能会检查一些特定的标题,但是您将无法创建适用于每个网站的通用功能。
你唯一的选择就是使用服务器端脚本,这样你就可以模拟你想要的任何浏览器代理。
而且,在报废之前,你确定没有其他方法从网站获取数据吗?现在有API的一切,或RSS至少...
+0
谢谢,刚刚意识到我可以在externalURL的末尾添加“?mode = desktop”,它会工作。我没有想过做RSS,但我会考虑这一点。 –
我猜你需要更改请求上的用户代理,这显然是不可能的:https://*.com/问题/ 5771878/jquery-ajax-request-change-user-agent –
什么是数据?真的不清楚你想要什么,以及移动设备上有什么“不”... – Salketer
@Salketer,他正在抓取一个网站。该网站在从桌面查看时会显示某个元素,但不会显示在移动设备上。当他从移动设备上刮下时,无法找到该元素。 –