最近在研究用android和jsoup抓取小说数据,jsoup的使用可以参照http://www.open-open.com/jsoup/;在抓纵横中文网永生这本书的目录内容时碰到了问题,
永生的书简介url http://book.zongheng.com/book/48552.html中,我要抓取 class="webkit-html-tag" style="text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: pre-wrap; orphans: 2; widows: 2; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><a class="button read" href="http://book.zongheng.com/showchapter/48552.html">点击阅读</a>这个链接的url 再根据这个url到索引页,解析索引页的章节目录和链接。使用jsoup抓取class可以直接这样调用
Document doc = Jsoup.parse("http://book.zongheng.com/book/48552.html");
doc.select(".button read");尝试后发现class中有空格无法抓到对应链接。上百度搜了一圈找到http://hi.baidu.com/chen88358323/item/459090031758c691a3df4389
这个解决方案不太好。想到jsoup和jquery的selec机制很像,又查到了http://zhidao.baidu.com/question/311666643.html。这篇文章很有启发。
最后经过测试发现带空格的class可以写成两个select
写成 Elements indexEs = doc.select(".button").select(".read");成功抓取该书所有目录和链接。