作者uziel (= ̄ω ̄=)
看板java
标题Re: [问题] 网路爬虫遇到javascript
时间Mon Jun 6 00:24:36 2011
※ 引述《iduhc (菠萝面包)》之铭言:
: 目前不知道在html标签中遇到javascript时要如何做处理
: 这边是要做处理的网页: http://khh.travel/tw/spots/RecSpotList.aspx
: 当我用普通浏览器时,只要单纯的按下"下一页"的按钮即可
: 可是到java上如何做???
: 目前已经能够抽取出html原始码中的 href="javascript:__doPostBack('First','')
: 请问各位大大接下来要怎麽做?
: --------------------------------------------------------------------
: 我是想用java做处理而不是javascript或html语法,所以应该不算问错版吧
: ps1.我是想要得到类似我们按下一页时所得到的页面,
: 然後蒐集各个景点的资讯(这部份我已经完成了)
: 所以我的主要问题是在於如何做前往"下一页"这个动作
: ps2.当我按下一页後为什麽出现的网址还是跟上一页的一样?
: 不过原始挡内容已经变了
: 这是javascript的效果嘛?
首先,你必须自行打开此网页的原始档,看看 __doPostBack 这个 JavaScript 函数
在做什麽。
以您提供的网页为例,这个函数用来填写 Form1 这个表单里面的栏位,然後提交
(submit) 此表单给 RecSpotList.aspx ,因为浏览器提交表单用的是 POST方法,
所以网址列并没有看到表单所填写的资料 (请自行 Google : http post get)。
你要做的事情就是用 Java 写个程式代替浏览器提交 Form1 这个表单,如果你已经
知道如何对伺服器发送 HTTP 请求,并回传一份网页,那提交表单的作法应该很容易
就查得到。
在此推荐 HTMLParser (
http://htmlparser.sourceforge.net/) 与
HttpClient (
http://hc.apache.org/httpcomponents-client-ga/) 搭配使用。
HTMLParser 用来剖析网页原始码,而 HttpClient 用来处理 HTTP 通讯。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 223.142.18.224
1F:推 caty1010:跟我想的一样~~~good 06/06 00:27