哈哈,以神之名召唤尔等(正则网络爬虫)
来源:互联网 发布:linux 设置启动级别 编辑:程序博客网 时间:2024/06/02 17:56
package 我的虫子;import java.net.*;import java.util.regex.*;import java.io.*;public class Chongzi {public static void main(String[] args) throws Exception {File fi=new File("f:\\1.txt");String str="";BufferedWriter buw=new BufferedWriter(new FileWriter(fi,true));for(int i=1;i<1000;i++){String haha="";String regx1="[\\<][/][a][\\>][\\<][\"][\\>]";//关注贴吧查看贴吧排名页复制网址替代URLURL u=new URL("http://tieba.baidu.com/f/like/furank?kw=java&pn="+i);BufferedReader bur=new BufferedReader(new InputStreamReader(u.openStream()));String regx="[\"][\\>](.){3,20}[\\<][//][a][/>][/<]";//获得匹配器Pattern p=Pattern.compile(regx);//将匹配器传入String line=null;while((line=bur.readLine())!=null){Matcher ma=p.matcher(line);while(ma.find()){haha=haha+ma.group();//去除经过正则后仍然会有的全吧搜索字样if(haha.contains("全吧搜索")){haha=haha.substring(6, haha.length()-1);}}}String[] arr1=haha.split(regx1);int count=0;for(int j=0;j<arr1.length;j++){if(arr1[j].contains("</a>\">")){arr1[j]=arr1[j].substring(6, arr1[j].length()); }if(arr1[j].contains("</a><")){arr1[j]=arr1[j].substring(0, arr1[j].length()-5);}//通过设置j>2使得排除每页都会出现的吧主if(j>2){count++;//由于贴吧召唤的限制,故选择每行显示5人int a=count%5;str=str+" "+"@"+arr1[j];if(a==0){buw.write(str+"\r\n");buw.flush();str="";}}}}buw.close();}}
0 0
- 哈哈,以神之名召唤尔等(正则网络爬虫)
- python网络爬虫之正则表达式(续)
- Python-网络爬虫之正则表达
- python之正则表达式以及网络爬虫
- Python网络爬虫之模拟登录(以知乎为例)
- Python网络爬虫之模拟登录(以知乎为例)
- Python网络爬虫(3)正则表达式
- Spider-正则网络爬虫
- 网络爬虫-正则表达式
- python网络爬虫学习笔记之之正则表达式
- 以佛之名
- 以博客之名
- 以遗忘之名
- 以父之名
- 以优化之名
- 以文件之名
- 正则表达式(模拟网络爬虫、网络蜘蛛)
- 正则表达式练习,网络爬虫
- eclipse应用技巧
- 黑马程序员——获取字符串中相同字符个数的方法
- Vmware网络配置学习稿
- Mysql创建数据库的排序规则 中文 选择哪种编码
- java-集合类-(7)总结
- 哈哈,以神之名召唤尔等(正则网络爬虫)
- 一台Mac上如何做到 Xcode 5 与 Xcode 6 共存
- NSString 倒序输出
- [OC学习笔记]NSDictionary、NSMutableDictionary常用方法
- 实例化对象的相关问题集
- 郎遥远:金正恩爽约红场阅兵的真正原因
- HDU 2486 A simple stone game (K 倍动态减法博弈游戏,还未理解)
- OpenCV环境配置Visual Studio 2010、2012、2013、2015
- Ubuntu14.04.1-32的源