一个比较有意思的技术性问题,请大家过来看一看!!

时间:2023-01-04 14:16:14
一个比较有意思的技术性问题,请大家过来看一看!!

如何获取此网站的数据,如上图红圈所示。

网站地址:http://dotazj.uuu9.com/

大家可以使用各种方法。

此贴仅限技术性讨论!

39 个解决方案

#1


最实在的方法是直接致信其官方要求公开数据调用API

#2


引用 1 楼 xodbc 的回复:
最实在的方法是直接致信其官方要求公开数据调用API


这个方法着实好,不过可不可以通过解析这个HTML来找到一个方法获取数据呢??

#3


HttpClient 抓网页

#4


引用 3 楼 brightyq 的回复:
HttpClient 抓网页

支持!这个东西很强大,可以将页面的源码抓取下来,然后你可以对源码分析,提取你想要的数据。

#5


引用 3 楼 brightyq 的回复:
HttpClient 抓网页

鉴定玩家这个按钮怎么点击呢?

#6


引用 4 楼 peng_hao1988 的回复:
引用 3 楼 brightyq 的回复:HttpClient 抓网页
支持!这个东西很强大,可以将页面的源码抓取下来,然后你可以对源码分析,提取你想要的数据。


关键是需要点击一下 【鉴定玩家】这个按钮之后才出来我想要的数据

#7


看点击按钮时发送的url呗,

#8


引用 7 楼 abstruct 的回复:
看点击按钮时发送的url呗,


这个URL很隐蔽的,根本找不到。。。

#9


兄弟不要随便说找不到,12306所有请求都能找到,你用HttpAnalyzer抓抓看没有找不到的URL请求。

#10


引用 8 楼 wo6925371 的回复:
引用 7 楼 abstruct 的回复:看点击按钮时发送的url呗,

这个URL很隐蔽的,根本找不到。。。

点击之后浏览器地址栏没有显示吗?不行的话也可以用抓包工具。

#11


引用 10 楼 dracularking 的回复:
引用 8 楼 wo6925371 的回复:引用 7 楼 abstruct 的回复:看点击按钮时发送的url呗,

这个URL很隐蔽的,根本找不到。。。
点击之后浏览器地址栏没有显示吗?不行的话也可以用抓包工具。


点击之后没有任何显示的。。

#12


引用 10 楼 dracularking 的回复:
引用 8 楼 wo6925371 的回复:引用 7 楼 abstruct 的回复:看点击按钮时发送的url呗,

这个URL很隐蔽的,根本找不到。。。
点击之后浏览器地址栏没有显示吗?不行的话也可以用抓包工具。


推荐一个我试试?

#13


引用 9 楼 abcmsnet 的回复:
兄弟不要随便说找不到,12306所有请求都能找到,你用HttpAnalyzer抓抓看没有找不到的URL请求。


jquery什么的也可以看到??您看一下呗。。。看过网站再说好吗。

#14


DOTA?这个如果他用图片显示呢。

不同的网页,数据会有不同的显示形式,你需要对每一个网页都进行不同的解析,你抓取的数据有什么特点?这种要求精确的数据捕获,应该没有统一的方法吧。

#15


判断条件呢?
没外网、不能点

#16


你抓网页能抓到数据库用户名和密码吗?

#17


引用 15 楼 jianqiangking 的回复:
判断条件呢?
没外网、不能点


有外网的。。

#18


引用 16 楼 whz137458 的回复:
你抓网页能抓到数据库用户名和密码吗?


不需要他们的数据库和密码

#19


一个比较有意思的技术性问题,请大家过来看一看!!网页给你搞出来了,但是它有很多验证用的..我不知道怎么用,不保证这个长期都能用..

public static void main(String[] args) throws Exception {
URL url = new URL("http://dotazj.uuu9.com/");
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setDoOutput(true);
String name = URLEncoder.encode("官人可以不", "utf-8");
System.out.println(name);
connection
.getOutputStream()
.write(
("__VIEWSTATE=%2FwEPDwUKLTc0MDM2OTU4MQ9kFgICAQ9kFhgCGw8WAh4JaW5uZXJodG1sBT7lpKnmoq%2FlvpfliIbvvJowICZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IOmJtOWumue7k%2BaenO%2B8muaWsOaJi%2BOAgmQCHQ8WAh8ABRLlnKjmlrDmiYvph4zpnaLvvJpkAh8PFgIfAAVH5bmz5Z2H5b6X5YiG77yaMC42ODggJmd0OyZndDsmZ3Q7Jmd0OyZndDsg6Ym05a6a57uT5p6c77yaQUnpnIDopoHkvaDvvIFkAiEPFgIfAAVu5b2x5ZON5q%2BU6LWb55qE6IOc6LSf55qE5qaC546H77yaMjUuMDAwJSAmZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyDpibTlrprnu5PmnpzvvJrlgbblsJTog73miJDkuLrmr5TotZvnmoTlhbPplK7vvIFkAiMPFgIfAAU85pyA5Zac5qyi5YGa55qE5LqL5oOF5piv77ya5ouG6buR5LiT5Lia5oi377yM5q275b6X5YW25omA77yBZAIlD2QWFAIBD2QWFGYPFgIfAAUM5pK85Zyw56We54mbZAIBDxYCHwAFATRkAgIPFgIfAAUBMGQCAw8WAh8ABQEwZAIEDxYCHwAFATBkAgUPFgIfAAUBMGQCBg8WAh8ABQEwZAIHDxYCHwAFATFkAggPFgIfAAUBMWQCCQ8WAh8ABQQwLjc1ZAICD2QWFGYPFgIfAAUM5Zec6KGA54uC6a2UZAIBDxYCHwAFATRkAgIPFgIfAAUBMGQCAw8WAh8ABQEwZAIEDxYCHwAFATBkAgUPFgIfAAUBMGQCBg8WAh8ABQEwZAIHDxYCHwAFATBkAggPFgIfAAUBMWQCCQ8WAh8ABQMwLjVkAgMPZBYUZg8WAh8ABQbmspnnjotkAgEPFgIfAAUBMWQCAg8WAh8ABQEwZAIDDxYCHwAFATBkAgQPFgIfAAUBMGQCBQ8WAh8ABQEwZAIGDxYCHwAFATBkAgcPFgIfAAUBMGQCCA8WAh8ABQExZAIJDxYCHwAFATJkAgQPZBYUZg8WAh8ABRLlpaXmnpfljLnmlq%2FkuYvnjotkAgEPFgIfAAUBMWQCAg8WAh8ABQEwZAIDDxYCHwAFATBkAgQPFgIfAAUBMGQCBQ8WAh8ABQEwZAIGDxYCHwAFATBkAgcPFgIfAAUBMGQCCA8WAh8ABQExZAIJDxYCHwAFATJkAgUPZBYUZg8WAh8ABQzngbXprYLlrojljatkAgEPFgIfAAUBMmQCAg8WAh8ABQEwZAIDDxYCHwAFATBkAgQPFgIfAAUBMGQCBQ8WAh8ABQEwZAIGDxYCHwAFATBkAgcPFgIfAAUBMGQCCA8WAh8ABQEwZAIJDxYCHwAFATBkAgYPZBYUZg8WAh8ABQbliZHlnKNkAgEPFgIfAAUBMWQCAg8WAh8ABQEwZAIDDxYCHwAFATBkAgQPFgIfAAUBMGQCBQ8WAh8ABQEwZAIGDxYCHwAFATBkAgcPFgIfAAUBMGQCCA8WAh8ABQEwZAIJDxYCHwAFATBkAgcPZBYUZg8WAh8ABQ%2FlnLDnsr7kv67ooaXljKBkAgEPFgIfAAUBMWQCAg8WAh8ABQEwZAIDDxYCHwAFATBkAgQPFgIfAAUBMGQCBQ8WAh8ABQEwZAIGDxYCHwAFATBkAgcPFgIfAAUBMGQCCA8WAh8ABQEwZAIJDxYCHwAFATBkAggPZBYUZg8WAh8ABQbmlqfnjotkAgEPFgIfAAUBMWQCAg8WAh8ABQEwZAIDDxYCHwAFATBkAgQPFgIfAAUBMGQCBQ8WAh8ABQEwZAIGDxYCHwAFATBkAgcPFgIfAAUBMGQCCA8WAh8ABQEwZAIJDxYCHwAFATBkAgkPZBYUZg8WAh8ABQzmmpflvbHokKjmu6FkAgEPFgIfAAUBMWQCAg8WAh8ABQEwZAIDDxYCHwAFATBkAgQPFgIfAAUBMGQCBQ8WAh8ABQEwZAIGDxYCHwAFATBkAgcPFgIfAAUBMGQCCA8WAh8ABQEwZAIJDxYCHwAFATBkAgoPZBYUZg8WAh8ABQnpo47ooYzogIVkAgEPFgIfAAUCMzRkAgIPFgIfAAUBNGQCAw8WAh8ABQEyZAIEDxYCHwAFATBkAgUPFgIfAAUBNGQCBg8WAh8ABQE2ZAIHDxYCHwAFATlkAggPFgIfAAUBNGQCCQ8WAh8ABQQxLjIxZAInDxYCHwAFSuacgOWWnOasoueUqOeahOiLsembhO%2B8muaSvOWcsOelnueJmyDigJTigJQg5pyA5LiN5Zac5qyi55qE6Iux6ZuE77ya5rKZ546LZAIpDxYCHwAFNeacgOaThemVv%2BeahOiLsembhO%2B8miDigJTigJQg5pyA5LiN5pOF6ZW%2F55qE6Iux6ZuE77yaZAIrDxYCHwAFVue7vOWQiOW%2Bl%2BWIhuacgOmrmOeahOiLsembhO%2B8muaymeeOiyDigJTigJQg57u85ZCI5b6X5YiG5pyA5L2O55qE6Iux6ZuE77ya54G16a2C5a6I5Y2rZAItDxYCHwAFQuS9v%2BeUqOS4i%2BWIl%2BiLsembhOWkqeair%2Benr%2BWIhuWinuWKoOacgOW%2Fq%2BS9huWHj%2BWIhumjjumZqei%2Bg%2BWkp%2B%2B8mmQCLw8WAh8ABULkvb%2FnlKjkuIvliJfoi7Hpm4TlpKnmoq%2Fnp6%2FliIblop7liqDmnIDlv6vkvYblh4%2FliIbpo47pmanovoPlsI%2FvvJpkAjEPFgIfAAU25L2%2F55So5LiL5YiX6Iux6ZuE5aSp5qKv56ev5YiG5q%2Br5peg5Y6L5Yqb5omT6YWx5rK577yaZGTLf6CYjKrP%2Bpofue4IvsSg3Ldx6w%3D%3D&__EVENTVALIDATION=%2FwEWDgKdzPG2BgL7uPQdArursYYIApOixrIJArqP2b0HAp2ilpYPAtO31N4HAp3hgG0CgZLB4wgCgpLB4wgCgJLB4wgC95HB4wgC9pHB4wgC%2FpGB5AgcHU9R9yFzs%2FdyHJRv78I%2Fhyul3A%3D%3D&name="
+ name +"&Button2=%E9%89%B4%E5%AE%9A%E7%8E%A9%E5%AE%B6&ladderRating=0&jushu=0&win=0&p_win=0&mvp=0&resv6=0&resv5=0&resv7=0&resv8=0&resv9=1&resv10=4"
).getBytes());
connection.getOutputStream().flush();
connection.getOutputStream().close();
BufferedReader reader = new BufferedReader(new InputStreamReader(
connection.getInputStream(), "utf-8"));
String str = null;
while ((str = reader.readLine()) != null) {
System.out.println(str);
}
reader.close();
}

这个能把你当前英雄的网页数据读出来,我试了20分钟都还行,不知道它的验证码之类的会不会过期..过期了你自己抓抓看

#20


                                战绩一览</div>
                            <div class="recordco">
                                <ul>
                                    <li>
                                        <p>
                                            天梯积分:</p>
                                        <input name="ladderRating" type="text" id="ladderRating" class="text2" value="1445" /></li>
                                    <li>
                                        <p>
                                            局数:</p>
                                        <input name="jushu" type="text" id="jushu" class="text2" value="1555" /></li>
                                    <li>
                                        <p>
                                            胜场:</p>
                                        <input name="win" type="text" id="win" class="text2" value="785" /></li>
                                    <li>
                                        <p>
                                            胜率:</p>
                                        <input name="p_win" type="text" id="p_win" class="text2" value="50.48%" /></li>
                                    <li>
                                        <p>
                                            MVP:</p>
                                        <input name="mvp" type="text" id="mvp" class="text2" value="167" /></li>
                                    <li>
                                        <p>
                                            破:</p>
                                        <input name="resv6" type="text" id="resv6" class="text2" value="186" /></li>
                                    <li>
                                        <p>
                                            富:</p>
                                        <input name="resv5" type="text" id="resv5" class="text2" value="187" /></li>
                                    <li>
                                        <p>
                                            军:</p>
                                        <input name="resv7" type="text" id="resv7" class="text2" value="166" /></li>
                                    <li>
                                        <p>
                                            助攻:</p>
                                        <input name="resv8" type="text" id="resv8" class="text2" value="73" /></li>
                                    <li>
                                        <p>
                                            补:</p>
                                        <input name="resv9" type="text" id="resv9" class="text2" value="220" /></li>
                                    <li>
                                        <p>
                                            魂:</p>
                                        <input name="resv10" type="text" id="resv10" class="text2" value="180" /></li>
                                </ul>
                            </div>
                        </div>
                        <div class="result">
                            <div class="recordtt vt2">
                                鉴定结果</div>
                            <div class="resultco">
                                <p id="jianding1">天梯得分:1445 &gt;&gt;&gt;&gt;&gt; 鉴定结果:业余玩家C级。</p>
                                <p id="jianding5">在业余玩家C级里面:</p>
                                <p id="jianding2">平均得分:1.341 &gt;&gt;&gt;&gt;&gt; 鉴定结果:不错!再提高些姿势水平吧!</p>
                                <p id="jianding3">影响比赛的胜负的概率:22.315% &gt;&gt;&gt;&gt;&gt; 鉴定结果:偶尔能成为比赛的关键!</p>
                                <p id="jianding4">最喜欢做的事情是:补刀神马的最随意了!</p>
                            </div>
                        </div>
这段就是相应的数据..用正则提取就不用说了吧..下面还有一截是它分页标签另外一个表格用的..继续正则

#21


引用 20 楼 wapigzhu 的回复:
战绩一览</div>
                            <div class="recordco">
                                <ul>
                                    <li>
           ……


很好很强大。。。不过正则怎么用?我还想慢慢来截字符串呢。。

#22


引用 20 楼 wapigzhu 的回复:
战绩一览</div>
                            <div class="recordco">
                                <ul>
                                    <li>
           ……


我昨晚也是这样抓的,不过现在已经失效了。。。目测他会在12个小时内失效。。。

#23


一个比较有意思的技术性问题,请大家过来看一看!!出门了..随便给你写个简单的..再不会问问论坛里面大把人都会..

public static void main(String[] args) throws Exception {
URL url = new URL("http://dotazj.uuu9.com/");
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setDoOutput(true);
String name = URLEncoder.encode("官人可以不", "utf-8");
connection
.getOutputStream()
.write(
("__VIEWSTATE=%2FwEPDwUKLTc0MDM2OTU4MQ9kFgICAQ9kFhgCGw8WAh4JaW5uZXJodG1sBT7lpKnmoq%2FlvpfliIbvvJowICZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IOmJtOWumue7k%2BaenO%2B8muaWsOaJi%2BOAgmQCHQ8WAh8ABRLlnKjmlrDmiYvph4zpnaLvvJpkAh8PFgIfAAVH5bmz5Z2H5b6X5YiG77yaMC42ODggJmd0OyZndDsmZ3Q7Jmd0OyZndDsg6Ym05a6a57uT5p6c77yaQUnpnIDopoHkvaDvvIFkAiEPFgIfAAVu5b2x5ZON5q%2BU6LWb55qE6IOc6LSf55qE5qaC546H77yaMjUuMDAwJSAmZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyDpibTlrprnu5PmnpzvvJrlgbblsJTog73miJDkuLrmr5TotZvnmoTlhbPplK7vvIFkAiMPFgIfAAU85pyA5Zac5qyi5YGa55qE5LqL5oOF5piv77ya5ouG6buR5LiT5Lia5oi377yM5q275b6X5YW25omA77yBZAIlD2QWFAIBD2QWFGYPFgIfAAUM5pK85Zyw56We54mbZAIBDxYCHwAFATRkAgIPFgIfAAUBMGQCAw8WAh8ABQEwZAIEDxYCHwAFATBkAgUPFgIfAAUBMGQCBg8WAh8ABQEwZAIHDxYCHwAFATFkAggPFgIfAAUBMWQCCQ8WAh8ABQQwLjc1ZAICD2QWFGYPFgIfAAUM5Zec6KGA54uC6a2UZAIBDxYCHwAFATRkAgIPFgIfAAUBMGQCAw8WAh8ABQEwZAIEDxYCHwAFATBkAgUPFgIfAAUBMGQCBg8WAh8ABQEwZAIHDxYCHwAFATBkAggPFgIfAAUBMWQCCQ8WAh8ABQMwLjVkAgMPZBYUZg8WAh8ABQbmspnnjotkAgEPFgIfAAUBMWQCAg8WAh8ABQEwZAIDDxYCHwAFATBkAgQPFgIfAAUBMGQCBQ8WAh8ABQEwZAIGDxYCHwAFATBkAgcPFgIfAAUBMGQCCA8WAh8ABQExZAIJDxYCHwAFATJkAgQPZBYUZg8WAh8ABRLlpaXmnpfljLnmlq%2FkuYvnjotkAgEPFgIfAAUBMWQCAg8WAh8ABQEwZAIDDxYCHwAFATBkAgQPFgIfAAUBMGQCBQ8WAh8ABQEwZAIGDxYCHwAFATBkAgcPFgIfAAUBMGQCCA8WAh8ABQExZAIJDxYCHwAFATJkAgUPZBYUZg8WAh8ABQzngbXprYLlrojljatkAgEPFgIfAAUBMmQCAg8WAh8ABQEwZAIDDxYCHwAFATBkAgQPFgIfAAUBMGQCBQ8WAh8ABQEwZAIGDxYCHwAFATBkAgcPFgIfAAUBMGQCCA8WAh8ABQEwZAIJDxYCHwAFATBkAgYPZBYUZg8WAh8ABQbliZHlnKNkAgEPFgIfAAUBMWQCAg8WAh8ABQEwZAIDDxYCHwAFATBkAgQPFgIfAAUBMGQCBQ8WAh8ABQEwZAIGDxYCHwAFATBkAgcPFgIfAAUBMGQCCA8WAh8ABQEwZAIJDxYCHwAFATBkAgcPZBYUZg8WAh8ABQ%2FlnLDnsr7kv67ooaXljKBkAgEPFgIfAAUBMWQCAg8WAh8ABQEwZAIDDxYCHwAFATBkAgQPFgIfAAUBMGQCBQ8WAh8ABQEwZAIGDxYCHwAFATBkAgcPFgIfAAUBMGQCCA8WAh8ABQEwZAIJDxYCHwAFATBkAggPZBYUZg8WAh8ABQbmlqfnjotkAgEPFgIfAAUBMWQCAg8WAh8ABQEwZAIDDxYCHwAFATBkAgQPFgIfAAUBMGQCBQ8WAh8ABQEwZAIGDxYCHwAFATBkAgcPFgIfAAUBMGQCCA8WAh8ABQEwZAIJDxYCHwAFATBkAgkPZBYUZg8WAh8ABQzmmpflvbHokKjmu6FkAgEPFgIfAAUBMWQCAg8WAh8ABQEwZAIDDxYCHwAFATBkAgQPFgIfAAUBMGQCBQ8WAh8ABQEwZAIGDxYCHwAFATBkAgcPFgIfAAUBMGQCCA8WAh8ABQEwZAIJDxYCHwAFATBkAgoPZBYUZg8WAh8ABQnpo47ooYzogIVkAgEPFgIfAAUCMzRkAgIPFgIfAAUBNGQCAw8WAh8ABQEyZAIEDxYCHwAFATBkAgUPFgIfAAUBNGQCBg8WAh8ABQE2ZAIHDxYCHwAFATlkAggPFgIfAAUBNGQCCQ8WAh8ABQQxLjIxZAInDxYCHwAFSuacgOWWnOasoueUqOeahOiLsembhO%2B8muaSvOWcsOelnueJmyDigJTigJQg5pyA5LiN5Zac5qyi55qE6Iux6ZuE77ya5rKZ546LZAIpDxYCHwAFNeacgOaThemVv%2BeahOiLsembhO%2B8miDigJTigJQg5pyA5LiN5pOF6ZW%2F55qE6Iux6ZuE77yaZAIrDxYCHwAFVue7vOWQiOW%2Bl%2BWIhuacgOmrmOeahOiLsembhO%2B8muaymeeOiyDigJTigJQg57u85ZCI5b6X5YiG5pyA5L2O55qE6Iux6ZuE77ya54G16a2C5a6I5Y2rZAItDxYCHwAFQuS9v%2BeUqOS4i%2BWIl%2BiLsembhOWkqeair%2Benr%2BWIhuWinuWKoOacgOW%2Fq%2BS9huWHj%2BWIhumjjumZqei%2Bg%2BWkp%2B%2B8mmQCLw8WAh8ABULkvb%2FnlKjkuIvliJfoi7Hpm4TlpKnmoq%2Fnp6%2FliIblop7liqDmnIDlv6vkvYblh4%2FliIbpo47pmanovoPlsI%2FvvJpkAjEPFgIfAAU25L2%2F55So5LiL5YiX6Iux6ZuE5aSp5qKv56ev5YiG5q%2Br5peg5Y6L5Yqb5omT6YWx5rK577yaZGTLf6CYjKrP%2Bpofue4IvsSg3Ldx6w%3D%3D&__EVENTVALIDATION=%2FwEWDgKdzPG2BgL7uPQdArursYYIApOixrIJArqP2b0HAp2ilpYPAtO31N4HAp3hgG0CgZLB4wgCgpLB4wgCgJLB4wgC95HB4wgC9pHB4wgC%2FpGB5AgcHU9R9yFzs%2FdyHJRv78I%2Fhyul3A%3D%3D&name="
+ name +"&Button2=%E9%89%B4%E5%AE%9A%E7%8E%A9%E5%AE%B6&ladderRating=0&jushu=0&win=0&p_win=0&mvp=0&resv6=0&resv5=0&resv7=0&resv8=0&resv9=1&resv10=4"
).getBytes());
connection.getOutputStream().flush();
connection.getOutputStream().close();
BufferedReader reader = new BufferedReader(new InputStreamReader(
connection.getInputStream(), "utf-8"));
String str = null;
StringBuffer stringBuffer = new StringBuffer();
while ((str = reader.readLine()) != null) {
stringBuffer.append(str);
}
reader.close();
String content = stringBuffer.toString();
printDetail(content, "ladderRating");
printDetail(content, "jushu");
printDetail(content, "p_win");
}

private static void printDetail(String content, String label){
Pattern pattern = Pattern.compile("name=\""+ label +"\".*?value=\"(.+?)\"");
Matcher matcher = pattern.matcher(content);
if(matcher.find()){
System.out.println(label + ":" + matcher.group(1));
}
}


ladderRating:1445
jushu:1555
p_win:50.48%

#24


引用 22 楼 wo6925371 的回复:
引用 20 楼 wapigzhu 的回复:战绩一览</div>
                            <div class="recordco">
                                <ul>
                                    <li>
           ……

我昨晚也是……

那只有去研究他的验证码是怎么生成的了.. 一个比较有意思的技术性问题,请大家过来看一看!!我网页编程菜得不行

#25


可以看出 __VIEWSTATE 和 Button2 是通过什么加密的吗

#26


__VIEWSTATE 和 __EVENTVALIDATION 发送的会是什么东西?

#27


dota吗?

#28


引用 27 楼 zzgzzg00 的回复:
dota吗?


还用疑问?

#29


自己抓肯定会各种问题,就算有稳定的解决办法也严重依赖于官方开发团队的更新行为。
所以我还是建议LZ致信官方要求公开调用数据API或其他调用数据方式,因为很多主流的大型游戏公开这类信息,如eve、wow等,这明显是免费游戏推广的机会。

#30


引用 29 楼 xodbc 的回复:
自己抓肯定会各种问题,就算有稳定的解决办法也严重依赖于官方开发团队的更新行为。
所以我还是建议LZ致信官方要求公开调用数据API或其他调用数据方式,因为很多主流的大型游戏公开这类信息,如eve、wow等,这明显是免费游戏推广的机会。


估计他们一般不会同意的。。

#31


顶顶才健康。

#32


引用 楼主 wo6925371 的回复:
本帖最后由 wo6925371 于 2013-01-15 20:09:19 编辑
            

如何获取此网站的数据,如上图红圈所示。

网站地址:http://dotazj.uuu9.com/

大家可以使用各种方法。

此贴仅限技术性讨论!

自己制作一个socket的工具里,拼接url发送。
用收到的返回值提取所需要的数据。

#33


        // 非空验证       
 function check() {           
 if ("" == jQuery.trim(jQuery("#name").val())) {               
 alert("请先输入名称!");               
 jQuery("#name").focus();               
 return false;            
}           
 jQuery("#xload").css("display", "");          
  return true;       
 }       
 jQuery(function () {      
      // 微博分享           
 if ("" != jQuery.trim(jQuery("#jianding1").html())) {              
  bShare.addEntry({ title: 'Dota路人测试器', url: window.location.href, summary: 
jQuery("#name").val() + jQuery("#jianding1").html() + jQuery("#jianding2").html() + jQuery("#jianding3").html() + jQuery("#jianding4").html() });           
 }        else {             
   bShare.addEntry({ title: 'Dota路人测试器', url: window.location.href, summary: '' });      }        });    
      
    从上面这些内容看,summary后面的就是你要的答案了。

#34


引用 26 楼 wo6925371 的回复:
__VIEWSTATE 和 __EVENTVALIDATION 发送的会是什么东西?

请教这个怎么来的……

#35


httpwatch
火狐的firebug
smartsniff
这东西最烦人,你费老大劲找全了,人随便改个参数你就得找半天

#36


该回复于2014-11-26 16:13:03被管理员删除

#37


引用 35 楼 gukuitian 的回复:
httpwatch
火狐的firebug
smartsniff
这东西最烦人,你费老大劲找全了,人随便改个参数你就得找半天


我没有看明白你说的什么意思。。您说的这些我都不懂。。

#38


学习 一个比较有意思的技术性问题,请大家过来看一看!!

#39


http://dotazj.uuu9.com/?name=%E5%AE%98%E4%BA%BA%E5%8F%AF%E4%BB%A5%E4%B8%8D&Button2=%E9%89%B4%E5%AE%9A%E7%8E%A9%E5%AE%B6&__VIEWSTATE=/wEPDwUKLTc0MDM2OTU4MWRkdnHk0W4HDT6tWMaLWW2qSHjLMjo=&__EVENTVALIDATION=/wEWDgKT/quHAwL7uPQdArursYYIApOixrIJArqP2b0HAp2ilpYPAtO31N4HAp3hgG0CgZLB4wgCgpLB4wgCgJLB4wgC95HB4wgC9pHB4wgC/pGB5AgIvx4nZ1D5G0oNB/faZ4RrAL06Og==

#1


最实在的方法是直接致信其官方要求公开数据调用API

#2


引用 1 楼 xodbc 的回复:
最实在的方法是直接致信其官方要求公开数据调用API


这个方法着实好,不过可不可以通过解析这个HTML来找到一个方法获取数据呢??

#3


HttpClient 抓网页

#4


引用 3 楼 brightyq 的回复:
HttpClient 抓网页

支持!这个东西很强大,可以将页面的源码抓取下来,然后你可以对源码分析,提取你想要的数据。

#5


引用 3 楼 brightyq 的回复:
HttpClient 抓网页

鉴定玩家这个按钮怎么点击呢?

#6


引用 4 楼 peng_hao1988 的回复:
引用 3 楼 brightyq 的回复:HttpClient 抓网页
支持!这个东西很强大,可以将页面的源码抓取下来,然后你可以对源码分析,提取你想要的数据。


关键是需要点击一下 【鉴定玩家】这个按钮之后才出来我想要的数据

#7


看点击按钮时发送的url呗,

#8


引用 7 楼 abstruct 的回复:
看点击按钮时发送的url呗,


这个URL很隐蔽的,根本找不到。。。

#9


兄弟不要随便说找不到,12306所有请求都能找到,你用HttpAnalyzer抓抓看没有找不到的URL请求。

#10


引用 8 楼 wo6925371 的回复:
引用 7 楼 abstruct 的回复:看点击按钮时发送的url呗,

这个URL很隐蔽的,根本找不到。。。

点击之后浏览器地址栏没有显示吗?不行的话也可以用抓包工具。

#11


引用 10 楼 dracularking 的回复:
引用 8 楼 wo6925371 的回复:引用 7 楼 abstruct 的回复:看点击按钮时发送的url呗,

这个URL很隐蔽的,根本找不到。。。
点击之后浏览器地址栏没有显示吗?不行的话也可以用抓包工具。


点击之后没有任何显示的。。

#12


引用 10 楼 dracularking 的回复:
引用 8 楼 wo6925371 的回复:引用 7 楼 abstruct 的回复:看点击按钮时发送的url呗,

这个URL很隐蔽的,根本找不到。。。
点击之后浏览器地址栏没有显示吗?不行的话也可以用抓包工具。


推荐一个我试试?

#13


引用 9 楼 abcmsnet 的回复:
兄弟不要随便说找不到,12306所有请求都能找到,你用HttpAnalyzer抓抓看没有找不到的URL请求。


jquery什么的也可以看到??您看一下呗。。。看过网站再说好吗。

#14


DOTA?这个如果他用图片显示呢。

不同的网页,数据会有不同的显示形式,你需要对每一个网页都进行不同的解析,你抓取的数据有什么特点?这种要求精确的数据捕获,应该没有统一的方法吧。

#15


判断条件呢?
没外网、不能点

#16


你抓网页能抓到数据库用户名和密码吗?

#17


引用 15 楼 jianqiangking 的回复:
判断条件呢?
没外网、不能点


有外网的。。

#18


引用 16 楼 whz137458 的回复:
你抓网页能抓到数据库用户名和密码吗?


不需要他们的数据库和密码

#19


一个比较有意思的技术性问题,请大家过来看一看!!网页给你搞出来了,但是它有很多验证用的..我不知道怎么用,不保证这个长期都能用..

public static void main(String[] args) throws Exception {
URL url = new URL("http://dotazj.uuu9.com/");
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setDoOutput(true);
String name = URLEncoder.encode("官人可以不", "utf-8");
System.out.println(name);
connection
.getOutputStream()
.write(
("__VIEWSTATE=%2FwEPDwUKLTc0MDM2OTU4MQ9kFgICAQ9kFhgCGw8WAh4JaW5uZXJodG1sBT7lpKnmoq%2FlvpfliIbvvJowICZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IOmJtOWumue7k%2BaenO%2B8muaWsOaJi%2BOAgmQCHQ8WAh8ABRLlnKjmlrDmiYvph4zpnaLvvJpkAh8PFgIfAAVH5bmz5Z2H5b6X5YiG77yaMC42ODggJmd0OyZndDsmZ3Q7Jmd0OyZndDsg6Ym05a6a57uT5p6c77yaQUnpnIDopoHkvaDvvIFkAiEPFgIfAAVu5b2x5ZON5q%2BU6LWb55qE6IOc6LSf55qE5qaC546H77yaMjUuMDAwJSAmZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyDpibTlrprnu5PmnpzvvJrlgbblsJTog73miJDkuLrmr5TotZvnmoTlhbPplK7vvIFkAiMPFgIfAAU85pyA5Zac5qyi5YGa55qE5LqL5oOF5piv77ya5ouG6buR5LiT5Lia5oi377yM5q275b6X5YW25omA77yBZAIlD2QWFAIBD2QWFGYPFgIfAAUM5pK85Zyw56We54mbZAIBDxYCHwAFATRkAgIPFgIfAAUBMGQCAw8WAh8ABQEwZAIEDxYCHwAFATBkAgUPFgIfAAUBMGQCBg8WAh8ABQEwZAIHDxYCHwAFATFkAggPFgIfAAUBMWQCCQ8WAh8ABQQwLjc1ZAICD2QWFGYPFgIfAAUM5Zec6KGA54uC6a2UZAIBDxYCHwAFATRkAgIPFgIfAAUBMGQCAw8WAh8ABQEwZAIEDxYCHwAFATBkAgUPFgIfAAUBMGQCBg8WAh8ABQEwZAIHDxYCHwAFATBkAggPFgIfAAUBMWQCCQ8WAh8ABQMwLjVkAgMPZBYUZg8WAh8ABQbmspnnjotkAgEPFgIfAAUBMWQCAg8WAh8ABQEwZAIDDxYCHwAFATBkAgQPFgIfAAUBMGQCBQ8WAh8ABQEwZAIGDxYCHwAFATBkAgcPFgIfAAUBMGQCCA8WAh8ABQExZAIJDxYCHwAFATJkAgQPZBYUZg8WAh8ABRLlpaXmnpfljLnmlq%2FkuYvnjotkAgEPFgIfAAUBMWQCAg8WAh8ABQEwZAIDDxYCHwAFATBkAgQPFgIfAAUBMGQCBQ8WAh8ABQEwZAIGDxYCHwAFATBkAgcPFgIfAAUBMGQCCA8WAh8ABQExZAIJDxYCHwAFATJkAgUPZBYUZg8WAh8ABQzngbXprYLlrojljatkAgEPFgIfAAUBMmQCAg8WAh8ABQEwZAIDDxYCHwAFATBkAgQPFgIfAAUBMGQCBQ8WAh8ABQEwZAIGDxYCHwAFATBkAgcPFgIfAAUBMGQCCA8WAh8ABQEwZAIJDxYCHwAFATBkAgYPZBYUZg8WAh8ABQbliZHlnKNkAgEPFgIfAAUBMWQCAg8WAh8ABQEwZAIDDxYCHwAFATBkAgQPFgIfAAUBMGQCBQ8WAh8ABQEwZAIGDxYCHwAFATBkAgcPFgIfAAUBMGQCCA8WAh8ABQEwZAIJDxYCHwAFATBkAgcPZBYUZg8WAh8ABQ%2FlnLDnsr7kv67ooaXljKBkAgEPFgIfAAUBMWQCAg8WAh8ABQEwZAIDDxYCHwAFATBkAgQPFgIfAAUBMGQCBQ8WAh8ABQEwZAIGDxYCHwAFATBkAgcPFgIfAAUBMGQCCA8WAh8ABQEwZAIJDxYCHwAFATBkAggPZBYUZg8WAh8ABQbmlqfnjotkAgEPFgIfAAUBMWQCAg8WAh8ABQEwZAIDDxYCHwAFATBkAgQPFgIfAAUBMGQCBQ8WAh8ABQEwZAIGDxYCHwAFATBkAgcPFgIfAAUBMGQCCA8WAh8ABQEwZAIJDxYCHwAFATBkAgkPZBYUZg8WAh8ABQzmmpflvbHokKjmu6FkAgEPFgIfAAUBMWQCAg8WAh8ABQEwZAIDDxYCHwAFATBkAgQPFgIfAAUBMGQCBQ8WAh8ABQEwZAIGDxYCHwAFATBkAgcPFgIfAAUBMGQCCA8WAh8ABQEwZAIJDxYCHwAFATBkAgoPZBYUZg8WAh8ABQnpo47ooYzogIVkAgEPFgIfAAUCMzRkAgIPFgIfAAUBNGQCAw8WAh8ABQEyZAIEDxYCHwAFATBkAgUPFgIfAAUBNGQCBg8WAh8ABQE2ZAIHDxYCHwAFATlkAggPFgIfAAUBNGQCCQ8WAh8ABQQxLjIxZAInDxYCHwAFSuacgOWWnOasoueUqOeahOiLsembhO%2B8muaSvOWcsOelnueJmyDigJTigJQg5pyA5LiN5Zac5qyi55qE6Iux6ZuE77ya5rKZ546LZAIpDxYCHwAFNeacgOaThemVv%2BeahOiLsembhO%2B8miDigJTigJQg5pyA5LiN5pOF6ZW%2F55qE6Iux6ZuE77yaZAIrDxYCHwAFVue7vOWQiOW%2Bl%2BWIhuacgOmrmOeahOiLsembhO%2B8muaymeeOiyDigJTigJQg57u85ZCI5b6X5YiG5pyA5L2O55qE6Iux6ZuE77ya54G16a2C5a6I5Y2rZAItDxYCHwAFQuS9v%2BeUqOS4i%2BWIl%2BiLsembhOWkqeair%2Benr%2BWIhuWinuWKoOacgOW%2Fq%2BS9huWHj%2BWIhumjjumZqei%2Bg%2BWkp%2B%2B8mmQCLw8WAh8ABULkvb%2FnlKjkuIvliJfoi7Hpm4TlpKnmoq%2Fnp6%2FliIblop7liqDmnIDlv6vkvYblh4%2FliIbpo47pmanovoPlsI%2FvvJpkAjEPFgIfAAU25L2%2F55So5LiL5YiX6Iux6ZuE5aSp5qKv56ev5YiG5q%2Br5peg5Y6L5Yqb5omT6YWx5rK577yaZGTLf6CYjKrP%2Bpofue4IvsSg3Ldx6w%3D%3D&__EVENTVALIDATION=%2FwEWDgKdzPG2BgL7uPQdArursYYIApOixrIJArqP2b0HAp2ilpYPAtO31N4HAp3hgG0CgZLB4wgCgpLB4wgCgJLB4wgC95HB4wgC9pHB4wgC%2FpGB5AgcHU9R9yFzs%2FdyHJRv78I%2Fhyul3A%3D%3D&name="
+ name +"&Button2=%E9%89%B4%E5%AE%9A%E7%8E%A9%E5%AE%B6&ladderRating=0&jushu=0&win=0&p_win=0&mvp=0&resv6=0&resv5=0&resv7=0&resv8=0&resv9=1&resv10=4"
).getBytes());
connection.getOutputStream().flush();
connection.getOutputStream().close();
BufferedReader reader = new BufferedReader(new InputStreamReader(
connection.getInputStream(), "utf-8"));
String str = null;
while ((str = reader.readLine()) != null) {
System.out.println(str);
}
reader.close();
}

这个能把你当前英雄的网页数据读出来,我试了20分钟都还行,不知道它的验证码之类的会不会过期..过期了你自己抓抓看

#20


                                战绩一览</div>
                            <div class="recordco">
                                <ul>
                                    <li>
                                        <p>
                                            天梯积分:</p>
                                        <input name="ladderRating" type="text" id="ladderRating" class="text2" value="1445" /></li>
                                    <li>
                                        <p>
                                            局数:</p>
                                        <input name="jushu" type="text" id="jushu" class="text2" value="1555" /></li>
                                    <li>
                                        <p>
                                            胜场:</p>
                                        <input name="win" type="text" id="win" class="text2" value="785" /></li>
                                    <li>
                                        <p>
                                            胜率:</p>
                                        <input name="p_win" type="text" id="p_win" class="text2" value="50.48%" /></li>
                                    <li>
                                        <p>
                                            MVP:</p>
                                        <input name="mvp" type="text" id="mvp" class="text2" value="167" /></li>
                                    <li>
                                        <p>
                                            破:</p>
                                        <input name="resv6" type="text" id="resv6" class="text2" value="186" /></li>
                                    <li>
                                        <p>
                                            富:</p>
                                        <input name="resv5" type="text" id="resv5" class="text2" value="187" /></li>
                                    <li>
                                        <p>
                                            军:</p>
                                        <input name="resv7" type="text" id="resv7" class="text2" value="166" /></li>
                                    <li>
                                        <p>
                                            助攻:</p>
                                        <input name="resv8" type="text" id="resv8" class="text2" value="73" /></li>
                                    <li>
                                        <p>
                                            补:</p>
                                        <input name="resv9" type="text" id="resv9" class="text2" value="220" /></li>
                                    <li>
                                        <p>
                                            魂:</p>
                                        <input name="resv10" type="text" id="resv10" class="text2" value="180" /></li>
                                </ul>
                            </div>
                        </div>
                        <div class="result">
                            <div class="recordtt vt2">
                                鉴定结果</div>
                            <div class="resultco">
                                <p id="jianding1">天梯得分:1445 &gt;&gt;&gt;&gt;&gt; 鉴定结果:业余玩家C级。</p>
                                <p id="jianding5">在业余玩家C级里面:</p>
                                <p id="jianding2">平均得分:1.341 &gt;&gt;&gt;&gt;&gt; 鉴定结果:不错!再提高些姿势水平吧!</p>
                                <p id="jianding3">影响比赛的胜负的概率:22.315% &gt;&gt;&gt;&gt;&gt; 鉴定结果:偶尔能成为比赛的关键!</p>
                                <p id="jianding4">最喜欢做的事情是:补刀神马的最随意了!</p>
                            </div>
                        </div>
这段就是相应的数据..用正则提取就不用说了吧..下面还有一截是它分页标签另外一个表格用的..继续正则

#21


引用 20 楼 wapigzhu 的回复:
战绩一览</div>
                            <div class="recordco">
                                <ul>
                                    <li>
           ……


很好很强大。。。不过正则怎么用?我还想慢慢来截字符串呢。。

#22


引用 20 楼 wapigzhu 的回复:
战绩一览</div>
                            <div class="recordco">
                                <ul>
                                    <li>
           ……


我昨晚也是这样抓的,不过现在已经失效了。。。目测他会在12个小时内失效。。。

#23


一个比较有意思的技术性问题,请大家过来看一看!!出门了..随便给你写个简单的..再不会问问论坛里面大把人都会..

public static void main(String[] args) throws Exception {
URL url = new URL("http://dotazj.uuu9.com/");
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setDoOutput(true);
String name = URLEncoder.encode("官人可以不", "utf-8");
connection
.getOutputStream()
.write(
("__VIEWSTATE=%2FwEPDwUKLTc0MDM2OTU4MQ9kFgICAQ9kFhgCGw8WAh4JaW5uZXJodG1sBT7lpKnmoq%2FlvpfliIbvvJowICZndDsmZ3Q7Jmd0OyZndDsmZ3Q7IOmJtOWumue7k%2BaenO%2B8muaWsOaJi%2BOAgmQCHQ8WAh8ABRLlnKjmlrDmiYvph4zpnaLvvJpkAh8PFgIfAAVH5bmz5Z2H5b6X5YiG77yaMC42ODggJmd0OyZndDsmZ3Q7Jmd0OyZndDsg6Ym05a6a57uT5p6c77yaQUnpnIDopoHkvaDvvIFkAiEPFgIfAAVu5b2x5ZON5q%2BU6LWb55qE6IOc6LSf55qE5qaC546H77yaMjUuMDAwJSAmZ3Q7Jmd0OyZndDsmZ3Q7Jmd0OyDpibTlrprnu5PmnpzvvJrlgbblsJTog73miJDkuLrmr5TotZvnmoTlhbPplK7vvIFkAiMPFgIfAAU85pyA5Zac5qyi5YGa55qE5LqL5oOF5piv77ya5ouG6buR5LiT5Lia5oi377yM5q275b6X5YW25omA77yBZAIlD2QWFAIBD2QWFGYPFgIfAAUM5pK85Zyw56We54mbZAIBDxYCHwAFATRkAgIPFgIfAAUBMGQCAw8WAh8ABQEwZAIEDxYCHwAFATBkAgUPFgIfAAUBMGQCBg8WAh8ABQEwZAIHDxYCHwAFATFkAggPFgIfAAUBMWQCCQ8WAh8ABQQwLjc1ZAICD2QWFGYPFgIfAAUM5Zec6KGA54uC6a2UZAIBDxYCHwAFATRkAgIPFgIfAAUBMGQCAw8WAh8ABQEwZAIEDxYCHwAFATBkAgUPFgIfAAUBMGQCBg8WAh8ABQEwZAIHDxYCHwAFATBkAggPFgIfAAUBMWQCCQ8WAh8ABQMwLjVkAgMPZBYUZg8WAh8ABQbmspnnjotkAgEPFgIfAAUBMWQCAg8WAh8ABQEwZAIDDxYCHwAFATBkAgQPFgIfAAUBMGQCBQ8WAh8ABQEwZAIGDxYCHwAFATBkAgcPFgIfAAUBMGQCCA8WAh8ABQExZAIJDxYCHwAFATJkAgQPZBYUZg8WAh8ABRLlpaXmnpfljLnmlq%2FkuYvnjotkAgEPFgIfAAUBMWQCAg8WAh8ABQEwZAIDDxYCHwAFATBkAgQPFgIfAAUBMGQCBQ8WAh8ABQEwZAIGDxYCHwAFATBkAgcPFgIfAAUBMGQCCA8WAh8ABQExZAIJDxYCHwAFATJkAgUPZBYUZg8WAh8ABQzngbXprYLlrojljatkAgEPFgIfAAUBMmQCAg8WAh8ABQEwZAIDDxYCHwAFATBkAgQPFgIfAAUBMGQCBQ8WAh8ABQEwZAIGDxYCHwAFATBkAgcPFgIfAAUBMGQCCA8WAh8ABQEwZAIJDxYCHwAFATBkAgYPZBYUZg8WAh8ABQbliZHlnKNkAgEPFgIfAAUBMWQCAg8WAh8ABQEwZAIDDxYCHwAFATBkAgQPFgIfAAUBMGQCBQ8WAh8ABQEwZAIGDxYCHwAFATBkAgcPFgIfAAUBMGQCCA8WAh8ABQEwZAIJDxYCHwAFATBkAgcPZBYUZg8WAh8ABQ%2FlnLDnsr7kv67ooaXljKBkAgEPFgIfAAUBMWQCAg8WAh8ABQEwZAIDDxYCHwAFATBkAgQPFgIfAAUBMGQCBQ8WAh8ABQEwZAIGDxYCHwAFATBkAgcPFgIfAAUBMGQCCA8WAh8ABQEwZAIJDxYCHwAFATBkAggPZBYUZg8WAh8ABQbmlqfnjotkAgEPFgIfAAUBMWQCAg8WAh8ABQEwZAIDDxYCHwAFATBkAgQPFgIfAAUBMGQCBQ8WAh8ABQEwZAIGDxYCHwAFATBkAgcPFgIfAAUBMGQCCA8WAh8ABQEwZAIJDxYCHwAFATBkAgkPZBYUZg8WAh8ABQzmmpflvbHokKjmu6FkAgEPFgIfAAUBMWQCAg8WAh8ABQEwZAIDDxYCHwAFATBkAgQPFgIfAAUBMGQCBQ8WAh8ABQEwZAIGDxYCHwAFATBkAgcPFgIfAAUBMGQCCA8WAh8ABQEwZAIJDxYCHwAFATBkAgoPZBYUZg8WAh8ABQnpo47ooYzogIVkAgEPFgIfAAUCMzRkAgIPFgIfAAUBNGQCAw8WAh8ABQEyZAIEDxYCHwAFATBkAgUPFgIfAAUBNGQCBg8WAh8ABQE2ZAIHDxYCHwAFATlkAggPFgIfAAUBNGQCCQ8WAh8ABQQxLjIxZAInDxYCHwAFSuacgOWWnOasoueUqOeahOiLsembhO%2B8muaSvOWcsOelnueJmyDigJTigJQg5pyA5LiN5Zac5qyi55qE6Iux6ZuE77ya5rKZ546LZAIpDxYCHwAFNeacgOaThemVv%2BeahOiLsembhO%2B8miDigJTigJQg5pyA5LiN5pOF6ZW%2F55qE6Iux6ZuE77yaZAIrDxYCHwAFVue7vOWQiOW%2Bl%2BWIhuacgOmrmOeahOiLsembhO%2B8muaymeeOiyDigJTigJQg57u85ZCI5b6X5YiG5pyA5L2O55qE6Iux6ZuE77ya54G16a2C5a6I5Y2rZAItDxYCHwAFQuS9v%2BeUqOS4i%2BWIl%2BiLsembhOWkqeair%2Benr%2BWIhuWinuWKoOacgOW%2Fq%2BS9huWHj%2BWIhumjjumZqei%2Bg%2BWkp%2B%2B8mmQCLw8WAh8ABULkvb%2FnlKjkuIvliJfoi7Hpm4TlpKnmoq%2Fnp6%2FliIblop7liqDmnIDlv6vkvYblh4%2FliIbpo47pmanovoPlsI%2FvvJpkAjEPFgIfAAU25L2%2F55So5LiL5YiX6Iux6ZuE5aSp5qKv56ev5YiG5q%2Br5peg5Y6L5Yqb5omT6YWx5rK577yaZGTLf6CYjKrP%2Bpofue4IvsSg3Ldx6w%3D%3D&__EVENTVALIDATION=%2FwEWDgKdzPG2BgL7uPQdArursYYIApOixrIJArqP2b0HAp2ilpYPAtO31N4HAp3hgG0CgZLB4wgCgpLB4wgCgJLB4wgC95HB4wgC9pHB4wgC%2FpGB5AgcHU9R9yFzs%2FdyHJRv78I%2Fhyul3A%3D%3D&name="
+ name +"&Button2=%E9%89%B4%E5%AE%9A%E7%8E%A9%E5%AE%B6&ladderRating=0&jushu=0&win=0&p_win=0&mvp=0&resv6=0&resv5=0&resv7=0&resv8=0&resv9=1&resv10=4"
).getBytes());
connection.getOutputStream().flush();
connection.getOutputStream().close();
BufferedReader reader = new BufferedReader(new InputStreamReader(
connection.getInputStream(), "utf-8"));
String str = null;
StringBuffer stringBuffer = new StringBuffer();
while ((str = reader.readLine()) != null) {
stringBuffer.append(str);
}
reader.close();
String content = stringBuffer.toString();
printDetail(content, "ladderRating");
printDetail(content, "jushu");
printDetail(content, "p_win");
}

private static void printDetail(String content, String label){
Pattern pattern = Pattern.compile("name=\""+ label +"\".*?value=\"(.+?)\"");
Matcher matcher = pattern.matcher(content);
if(matcher.find()){
System.out.println(label + ":" + matcher.group(1));
}
}


ladderRating:1445
jushu:1555
p_win:50.48%

#24


引用 22 楼 wo6925371 的回复:
引用 20 楼 wapigzhu 的回复:战绩一览</div>
                            <div class="recordco">
                                <ul>
                                    <li>
           ……

我昨晚也是……

那只有去研究他的验证码是怎么生成的了.. 一个比较有意思的技术性问题,请大家过来看一看!!我网页编程菜得不行

#25


可以看出 __VIEWSTATE 和 Button2 是通过什么加密的吗

#26


__VIEWSTATE 和 __EVENTVALIDATION 发送的会是什么东西?

#27


dota吗?

#28


引用 27 楼 zzgzzg00 的回复:
dota吗?


还用疑问?

#29


自己抓肯定会各种问题,就算有稳定的解决办法也严重依赖于官方开发团队的更新行为。
所以我还是建议LZ致信官方要求公开调用数据API或其他调用数据方式,因为很多主流的大型游戏公开这类信息,如eve、wow等,这明显是免费游戏推广的机会。

#30


引用 29 楼 xodbc 的回复:
自己抓肯定会各种问题,就算有稳定的解决办法也严重依赖于官方开发团队的更新行为。
所以我还是建议LZ致信官方要求公开调用数据API或其他调用数据方式,因为很多主流的大型游戏公开这类信息,如eve、wow等,这明显是免费游戏推广的机会。


估计他们一般不会同意的。。

#31


顶顶才健康。

#32


引用 楼主 wo6925371 的回复:
本帖最后由 wo6925371 于 2013-01-15 20:09:19 编辑
            

如何获取此网站的数据,如上图红圈所示。

网站地址:http://dotazj.uuu9.com/

大家可以使用各种方法。

此贴仅限技术性讨论!

自己制作一个socket的工具里,拼接url发送。
用收到的返回值提取所需要的数据。

#33


        // 非空验证       
 function check() {           
 if ("" == jQuery.trim(jQuery("#name").val())) {               
 alert("请先输入名称!");               
 jQuery("#name").focus();               
 return false;            
}           
 jQuery("#xload").css("display", "");          
  return true;       
 }       
 jQuery(function () {      
      // 微博分享           
 if ("" != jQuery.trim(jQuery("#jianding1").html())) {              
  bShare.addEntry({ title: 'Dota路人测试器', url: window.location.href, summary: 
jQuery("#name").val() + jQuery("#jianding1").html() + jQuery("#jianding2").html() + jQuery("#jianding3").html() + jQuery("#jianding4").html() });           
 }        else {             
   bShare.addEntry({ title: 'Dota路人测试器', url: window.location.href, summary: '' });      }        });    
      
    从上面这些内容看,summary后面的就是你要的答案了。

#34


引用 26 楼 wo6925371 的回复:
__VIEWSTATE 和 __EVENTVALIDATION 发送的会是什么东西?

请教这个怎么来的……

#35


httpwatch
火狐的firebug
smartsniff
这东西最烦人,你费老大劲找全了,人随便改个参数你就得找半天

#36


该回复于2014-11-26 16:13:03被管理员删除

#37


引用 35 楼 gukuitian 的回复:
httpwatch
火狐的firebug
smartsniff
这东西最烦人,你费老大劲找全了,人随便改个参数你就得找半天


我没有看明白你说的什么意思。。您说的这些我都不懂。。

#38


学习 一个比较有意思的技术性问题,请大家过来看一看!!

#39


http://dotazj.uuu9.com/?name=%E5%AE%98%E4%BA%BA%E5%8F%AF%E4%BB%A5%E4%B8%8D&Button2=%E9%89%B4%E5%AE%9A%E7%8E%A9%E5%AE%B6&__VIEWSTATE=/wEPDwUKLTc0MDM2OTU4MWRkdnHk0W4HDT6tWMaLWW2qSHjLMjo=&__EVENTVALIDATION=/wEWDgKT/quHAwL7uPQdArursYYIApOixrIJArqP2b0HAp2ilpYPAtO31N4HAp3hgG0CgZLB4wgCgpLB4wgCgJLB4wgC95HB4wgC9pHB4wgC/pGB5AgIvx4nZ1D5G0oNB/faZ4RrAL06Og==