项目地址:https://github.com/CreditTone/resources
新浪把用户信息生成js。然后动态执行js生成html。所以大家看到为什么在html标签里面找不到信息。大家用下面的正则对静态页面抽取就可以了。
抽取微博数:>(\d+)<\\/strong><span class=\\"S_txt2\\">微博
抽取地址:<em class=\\"W_ficon ficon_cd_place S_ficon\\">2<\\/em><\\/span>[\\rnt\s]+<span class=\\"item_text W_fl\\">[\\rnt\s]+([^\\rnt\s]+[ ]{0,1}[^\\rnt\s]+)[\\rnt\s]+<\\/span>
抽取公司:<span class=\\"S_txt2\\">公司<\\/span>[\\rnt\s]+<a target=\\"_blank\\" href=[^>]+>([^<>]+)<\\/a>
抽取生日:class=\\"item_ico W_fl\\"><em class=\\"W_ficon ficon_constellation S_ficon\\">ö<\\/em><\\/span>[\\rnt\s]+<span class=\\"item_text W_fl\\">[\\rnt\s]+([\d]{4}年[\d]{1,2}月[\d]{1,2}日)
抽取学校:<span class=\\"S_txt2\\">毕业于<\\/span>[\\rnt\s]+<a[^>]+>([^<]+)<\\/a>
抽取个性签名:<div class=\\"pf_intro\\" title=\\"[ ]*([^"]+)\\">
抽取粉丝数:>(\d+)<\\/strong><span class=\\"S_txt2\\">粉丝
抽取新浪id:url=\%2F(\d+)&bottomnav=\d+&wvr=\d+',
由于java语言字符串本身对反斜杠要转义,所以java正则写法与上述有些不同。在这里提供了项目地址。大家download下来后参考下。