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

苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

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

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

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

查看: 6476|回复: 4

[HttpHelper] 抓取淘宝旅行,返回“本次请求并未返回任何数据”

[复制链接]
发表于 2014-6-30 15:52:16 | 显示全部楼层 |阅读模式
1金钱
本帖最后由 sunny 于 2014-6-30 16:00 编辑

抓取淘宝旅行:http://trip.taobao.com的机票查询,用原抓包得来的数据可以正确返回,但用原数据只是改下日期参数:depDate却返回失败,返回:“本次请求并未返回任何数据”。可能与参数ua有关,不知参数:callback和ua的值是怎么来的?或是是否是其它问题,代码如下:
string url = "http://s.jipiao.trip.taobao.com/flight_search_result.htm?depCityName=%B9%E3%D6%DD&depCity=CAN&arrCityName=%B1%B1%BE%A9&arrCity=BJS&tripType=0&depDate=2014-07-08&arrDate=&searchBy=1277";         
            DotNet4.Utilities.HttpItem item = new DotNet4.Utilities.HttpItem()
            {
                URL = url,
                Referer = "http://trip.taobao.com/jipiao/?spm=181.7091613.a1z68.6.aECWtg",
                Host = "s.jipiao.trip.taobao.com",
                ContentType = "text/html;charset=GB18030"
            };
            DotNet4.Utilities.HttpResult result = http.GetHtml(item);
            string url1 = "http://s.jipiao.trip.taobao.com/searchow/search.htm?type=&depCity=CAN&depCityName=����&arrCity=BJS&arrCityName=����&depDate=2014-07-08&tripType=0&agentIds=&supplyItinerary=&autoBook=&cabinClass=&searchSource=99&searchBy=1277&passengerNum=&callback=YUI.Env.JSONP.yui_3_5_1_1_1404111774723_601&ua=052tpOWUuXBidH1MRVQp4Ln4pey54K3wuYx5g%3D%3D%7CtaBkcTQxdGF0YRRhJKGEgVY%3D%7CtJFV4sZQBo%2BGTrafx%2B7KDioy2t6Hb9c%2Fx75WUjtjSnPrE%2FvfGz9I0DhwiPHI7Dvs%7Cs6aDR2N2MzZzZnNmE2YjVtOmAwbix%2BK34peCx5LHUndCR1I3otfzJA%3D%3D%7Csqcy9kFEgPWwNfGEQGTzVExkXBRMaL9o%7CsSTgxOA3%7CsIVB9qOmYmejtpO20xdiR9IWAyZjRoLncvczJgNGY6fCt6J1og%3D%3D%7Cv6qva0%2F4jfhtGNwbPypval%2Faj9rvmv%2Fqryrj5gJ3QhdSF2LnwkdCVyInMgci5cEFEMfjNA%3D%3D%7Cvvs%2FiKyITAkceZ2o%2FWj9eC0YTVgNaE0Y3JmciW3o%2FWj9iO1obQhtKC1IjJnM2dwL3A%3D%3D%7Cvfj9%2BDw5%2FdgcCUxZnaj9iEw5XJitafzJDYhf";
            item = new DotNet4.Utilities.HttpItem
            {
                URL = url1,
                Referer = url,
                Cookie = result.Cookie
            };
            result = http.GetHtml(item);
            string html = result.Html;

参数.jpg


1. 开通SVIP会员,免费下载本站所有源码,不限次数据,不限时间
2. 加官方QQ群,加官方微信群获取更多资源和帮助
3. 找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里
发表于 2014-6-30 16:26:07 | 显示全部楼层
返回这个说明没有返回数据但也没有报错,有两种可能,一是确实没有结果。第二是跳转了,你看看是不是跳转了。
回复

使用道具 举报

 楼主| 发表于 2014-6-30 16:57:42 | 显示全部楼层
本帖最后由 sunny 于 2014-6-30 17:01 编辑
站长苏飞 发表于 2014-6-30 16:26
返回这个说明没有返回数据但也没有报错,有两种可能,一是确实没有结果。第二是跳转了,你看看是不是跳转了 ...


第一个URL是点击淘宝旅行页面的搜索按钮发送的,页面上的数据是异步返回的,也就是第二个URL发送返回的josn数据,我用抓包工具所得数据,原数据去用程序重新发送时,一开始是可以和浏览器显示的一样,但当程序里只是改下日期参数,改为其它日期时,就返回“本次请求并未返回任何数据”,而且当过了一段时间再用原抓包的数据再次发送时也是返回“本次请求并未返回任何数据”,这应该是它是有一个时效性,也就是不能直接用抓包获取的参数值去取数据,研究其参数,两个url的参数基本知道什么意思,除了第一个url的searchby的值要么是1277,要么是1280,第二个url的最后两个参数callback和ua不知是怎么生成的,可能它是用这两个参数来核验
回复

使用道具 举报

发表于 2014-6-30 17:33:56 | 显示全部楼层
ua是安全控件吧。callback是成功时要调用的方法
回复

使用道具 举报

发表于 2014-7-1 09:03:49 | 显示全部楼层
我用的淘宝试用也遇到过这个问题,不过都解决了。
原因是Content-Type值不对,你看下请求标头里的Content-Type值填进去就好了,希望能帮助到你。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

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

GMT+8, 2024-11-24 12:31

© 2014-2021

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