http://www.sufeinet.com/plugin.php?id=keke_group

苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

分布式系统框架(V2.0) 轻松承载百亿数据,千万流量!讨论专区 - 源码下载 - 官方教程

HttpHelper爬虫框架(V2.7-含.netcore) HttpHelper官方出品,爬虫框架讨论区 - 源码下载 - 在线测试和代码生成

HttpHelper爬虫类(V2.0) 开源的爬虫类,支持多种模式和属性 源码 - 代码生成器 - 讨论区 - 教程- 例子

查看: 8946|回复: 3

[求助] C#爬虫可不可以获取JS代码跳转后的URL

[复制链接]
发表于 2015-4-18 22:29:19 | 显示全部楼层 |阅读模式

目标URL:http://redirect.simba.taobao.com/rd?f=http%3A%2F%2Fs.click.taobao.com%2Ft%3Fe%3Dm%253D2%2526s%253D185nS4dlL%252BYcQipKwQzePOeEDrYVVa64REOHN%252B0iJT1RAdhuF14FMU56PYxJLOT0lovu%252FCElQOu0nqI%252FCoXmipaemZAtXiLu%252Ba%252BOVoNO%252B4FtWkRTd6%252FP10MaYBiEABUYH3ui7mSZ03Kj5M2AmFK%252FdPiLqets6lIJ&pvid=200_10.103.34.54_11162_1429367077145&b=aitaobao_content_1&k=7ca9e08409870ccd&p=mm_10144480_0_0&w=aitaobao_styledetail

这里淘宝客商品的链接,它是先会302或者301定向到另外一个页面,然后再通过JS模拟人工点击的方式进入淘宝商品页面,它的人工模拟点击页面代码如下:

[HTML] 纯文本查看 复制代码
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
</head>
<body>
<script type='text/javascript'>
function htmlspecialchars(str){ 
str = str.replace(/</g, '<');
str = str.replace(/>/g, '>');
str = str.replace(/"/g, '"');
str = str.replace(/'/g, ''');
return str;
}

function bol(){
if (top.location != self.location) {
return false;
}

var qs = location.search.split("?")[location.search.split("?").length-1].split("&");
qso = {};
for (var i=0; i<qs.length; i++){
if (qs[i]!="") {
var tmpa = qs[i].split("=");
qso[tmpa[0]] = tmpa[1] ? tmpa[1] : "";
}
}

var tu = unescape(qso.tu);
if (htmlspecialchars(tu).length != tu.length) {
exit;
}

if (qso.tu && (qso.tu.indexOf("http%3A%2F%2Fs.click.taobao.com%2F")===0
|| qso.tu.indexOf("http%3A%2F%2Fi.click.taobao.com%2F")===0
|| qso.tu.indexOf("http%3A%2F%2Fs.click.alimama.com%2F")===0
|| qso.tu.indexOf("http%3A%2F%2Fitem8.taobao.com%2F")===0
|| qso.tu.indexOf("http%3A%2F%2Fshop8.taobao.com%2F")===0)) {
if (!window.attachEvent) {
document.write('<input style="display:none" type="button" id="exe" value="">');
document.getElementById('exe').click();
} else {
document.write('<a style="display:none" href="'+unescape(qso.tu)+'" id="exe"></a>');
document.getElementById('exe').click();
}
}
}//end of bol()
bol();
</script>
</body>
</html>


可在这个页面找不到要跳转到的下一个URL,但是用浏览器打开它的时候却又可以跳转,C#能不能在进入这个页面后,运行页面里的JS代码,然后获取到下一个URL地址?



1. 开通SVIP会员,免费下载本站所有源码,不限次数据,不限时间
2. 加官方QQ群,加官方微信群获取更多资源和帮助
3. 找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里
发表于 2015-5-4 10:06:10 | 显示全部楼层
这不行吧,js处理过的
发表于 2015-10-21 23:31:42 | 显示全部楼层
解决了么?
回复

使用道具 举报

发表于 2016-7-1 14:47:56 | 显示全部楼层
跟我的差不多,没戏,我都蹲好久了,也没人知道
您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

QQ|手机版|小黑屋|手机版|联系我们|关于我们|广告合作|苏飞论坛 ( 豫ICP备18043678号-2)

GMT+8, 2024-11-22 06:40

© 2014-2021

快速回复 返回顶部 返回列表