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

苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

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

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

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

查看: 5692|回复: 6
打印 上一主题 下一主题

[求助] Get方式成功获取了页面,但是页面上有段代码好像是js后来填充的,如何捕获啊?

[复制链接]
跳转到指定楼层
楼主
发表于 2016-4-15 01:37:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
首先,感谢飞哥开发的httphelper框架,感谢飞哥!真心感谢,这个框架帮我了大忙!

问题:

我用抓包软件已经抓到了目标页面地址和所有参数,也成功获取了页面内容,但是获取到的页面里没有我想要的东西,

<table id="finishedTable">
                                                        <thead>
                                                                <tr>
                                                                        <!-- qc7236 修改  begin-->
                                                                        <th id="col_SUBSCRIBE_ID">订单编号</th>
                                                                        <th id="col_TRADE_ID">订单流水号</th>
                                                                        <!-- qc7236 修改  end-->
                                                                        <th id="col_TRADE_TYPE">业务类型</th>
                                                                        <th id="col_SUBSCRIBE_STATE_NAME">订单状态</th>
                                                                </tr>
                                                        </thead>
                                                        <tbody>
                                                        </tbody>
                                                </table>


tbody里是空的,但是fiddler里捕获的数据里是有内容的,但是我前前后后的找了好多地址,好像没有其他地址去访问或调取这段数据了,请大家帮忙看看吧
<tbody>
                                                        </tbody>完成的这里是有tr,td的



我的代码:


public HttpResult GetHtml(string url, string cookie, string referer, string cerPath)
        {
            //创建Httphelper对象
            HttpHelper httpHelper = new HttpHelper();
            //创建HttpHelper参数设置类
            HttpItem httpItem = new HttpItem()
             {
                 URL = url, //URL     必需项  
                 Method = "GET", //URL     可选项 默认为Get  
                 Cookie = cookie,//字符串Cookie     可选项  
                 Referer = referer, //来源URL     可选项
                 Accept = "text/html, application/xhtml+xml, */*", //    可选项有默认值  
                 CerPath = cerPath, //证书绝对路径     可选项不需要证书时可以不写这个参数  
                 ResultType = ResultType.String, //返回数据类型,是Byte还是String
                 IsToLower = false, //得到的HTML代码是否转成小写     可选项默认转小写
                 Allowautoredirect = true, //是否根据301跳转     可选项  
                 AutoRedirectCookie = true, //是否自动处理Cookie     可选项
             };
            return httpHelper.GetHtml(httpItem);
        }





1. 开通SVIP会员,免费下载本站所有源码,不限次数据,不限时间
2. 加官方QQ群,加官方微信群获取更多资源和帮助
3. 找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里
沙发
发表于 2016-4-15 10:45:54 | 只看该作者
js填充一般也是通过Ajax获取的吧,可以尝试去捕获一般处理程序返回的数据吧。
板凳
发表于 2016-4-15 12:52:04 | 只看该作者
模拟js的请求
地板
 楼主| 发表于 2016-4-15 15:22:00 | 只看该作者
songwenqi 发表于 2016-4-15 10:45
js填充一般也是通过Ajax获取的吧,可以尝试去捕获一般处理程序返回的数据吧。

我也是感觉应该有个异步来请求数据,但是fiddler里没有发现异步发出的请求地址啊,你说的一般处理程序返回的数据是什么意思,具体怎么弄啊,需要在fiddler里怎么设置一下吗?小弟不才,望指点一二
5
 楼主| 发表于 2016-4-15 15:23:00 | 只看该作者

小弟不才,不是很明白如何模拟您说的js请求啊?望指点一二
6
发表于 2016-4-15 16:43:52 | 只看该作者
xjanlxj 发表于 2016-4-15 15:22
我也是感觉应该有个异步来请求数据,但是fiddler里没有发现异步发出的请求地址啊,你说的一般处理程序返 ...

如果是Ajax请求的处理程序,在请求里面是可以看到的,
7
 楼主| 发表于 2016-4-17 04:34:20 | 只看该作者
我已经找到了问题了,谢谢各位的提醒!确实在附近捕获的网址中发现了一些猫腻,原来是需要先访问一下另外一个地址,把数据先送上去,这个页面才有数据,不是js的问题,已经彻底解决了,谢谢!还是多多分析捕获的数据才是王道啊!结帖啦!
您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

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

GMT+8, 2024-11-15 14:26

© 2014-2021

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