问题描述
url=http://product.dangdang.com/product.aspx?product_id=20939382&ref=product-0-M在浏览器中,输入上面的url,在这页面代码中,“编辑推荐”代码如下<divclass="itembook_edit"><spanid='detail_all'style="display:none"><aname="abstract"></a><spanid='abstract'><h4>编辑推荐</h4></span>...</div>但是,通过firebug可以查看这部分的代码<divclass="itembook_edit"><spanid='detail_all'style=""><aname="abstract"></a><spanid='abstract'><h4>编辑推荐</h4></span><divid="abstract_text"class="customize">CNN、NBC、CBS、ABC等全世界各大电视节目及媒重点推荐!<br>...</div></div>想获取<divid="abstract_text"class="customize">的内容在下面程序中,如果给data变量赋值正确,能实现吗?importjava.io.IOException;importorg.apache.commons.httpclient.*;importorg.apache.commons.httpclient.methods.GetMethod;importorg.apache.commons.httpclient.methods.PostMethod;importorg.apache.commons.httpclient.params.HttpMethodParams;publicclassPostSample{publicstaticvoidmain(String[]args){HttpClienthttpClient=newHttpClient();Stringurl="http://product.dangdang.com/product.aspx?product_id=20990682&ref=book-02-M#";PostMethodpostMethod=newPostMethod(url);//填入各个表单域的值//NameValuePair[]data={newNameValuePair("","")};//将表单的值放入postMethod中postMethod.setRequestBody(data);try{//执行postMethodintstatusCode=httpClient.executeMethod(postMethod);if(statusCode!=HttpStatus.SC_OK){System.err.println("Methodfailed:"+postMethod.getStatusLine());}byte[]responseBody=postMethod.getResponseBody();System.out.println(newString(responseBody));}catch(HttpExceptione){System.out.println("Pleasecheckyourprovidedhttpaddress!");e.printStackTrace();}catch(IOExceptione){e.printStackTrace();}finally{postMethod.releaseConnection();}}}俺是新手,请高手帮忙!
解决方案
解决方案二:
思路是通过获取源码后解析源码里面的元素,获取需要的信息
解决方案三:
通过上面的程序源码是能得到,但没有隐藏部分。。。我需要的是隐藏的部分。
解决方案四:
求高手们帮忙
解决方案五:
可以用jquery把页面中带有hide属性的部分。。全部取出来·``~~
解决方案六:
和平常获取一样么。。。。。
解决方案七:
还是用getID....和普通的一样
解决方案八:
回复4,5,6楼页面代码是网上的代码,通过程序获取的网站代码中,没有隐藏部分的代码。所以4,6楼的方法貌似不可以。。应该是用程序获取代码的时候,应该把隐藏的部分也取出来。可能是我没理解上楼上高手们的方法。求具体的程序代码(连接网站,获取包含隐藏部分的代码),非常感谢。
解决方案九:
该回复于2011-02-15 10:36:26被版主删除