背景需求:
采集和讯网的财经人物,url为:http://renwu.hexun.com/,采集人物名称然后保存。
思路:
基于dom4j采集,根据url规则遍历获取,直到没有人物数据,基于xpath解析出最终的人物名称。
实现:
private static void getRWData(Setset) throws Exception { String xpath = "/*[name()='HTML']/*[name()='BODY']/*[name()='DIV']/*[name()='DIV']/*[name()='DIV']/*[name()='DIV']/*[name()='DIV']/*[name()='DIV']/*[name()='UL']/*[name()='LI']/*[name()='A']"; DOMParser parser = new DOMParser(); for (int i = 1; i < 10000; i++) { parser.parse("http://renwu.hexun.com/search.aspx?z=All&Filter=All&page="+i); DOMReader domReader = new DOMReader(); Document document = domReader.read(parser.getDocument()); Element root = document.getRootElement(); List nodes = root.selectNodes(xpath); if(nodes.isEmpty()){ return; } for (Node node : nodes) { set.add(node.getText()); } } }
保存在Set中供后期使用