网络爬虫基础!
2015-08-11 13:32
441 查看
网络爬虫最基础的就是下载文件或页面,然后利用正则表达式提取需要的数据!
假如有如下一个mail.txt文件:需要从里面提取有用的邮箱地址,该怎么做呢?
我们只需要下载这个页面,然后解析其中的邮箱地址即可!
好了,一个简单的网络爬虫就是这样的了!
如果要下载web页面呢?可以使用urlconnection进行下载:
public class TestRegex2 {
public static void getHtml() throws IOException {
URL url = new URL("http://s.taobao.com/search?q=%E8%A1%AC%E8%A1%AB&commend=all&ssid=s5-e&search_type=item&sourceId=tb.index&spm=1.7274553.1997520841.1&initiative_id=tbindexz_20150603");
URLConnection conn = url.openConnection();
BufferedReader bufferedReader = new BufferedReader(
new InputStreamReader(conn.getInputStream()));
String line = null;
// String mailReg = "g_page_config = ";
// Pattern p = Pattern.compile(mailReg);
while((line = bufferedReader.readLine()) != null) {
// Matcher m = p.matcher(line);
// while(m.find())
// {
// System.out.println(m.group());
// }
System.out.println(line);
}
}
public static void main(String[] args) throws IOException {
getHtml();
}
}
假如有如下一个mail.txt文件:需要从里面提取有用的邮箱地址,该怎么做呢?
skdajflksadjflk> abc0@sina.com<djfsa;lkdfjksa;ljfs;alfjsa;lkjfsa;lkfjska;ljfsafsd skdajflksadjflkdjfsa;lkdfjksa;ljfs;alfjsa;lkjfsa;lkfjska;ljfsafsd skdajfl> abc1@sina.com<ksadjflkdjfsa;lkdfjksa;ljfs;alfjsa;lkjfsa;lkfjska;ljfsafsd skdajflksadjflkdjfsa;lkdfjksa;ljfs;alfjsa;lkjfsa;lkfjska;ljfsafsd skdajfl> abc2@sina.com<sadjflkdjfsa;lkdfjks> abc3@sina.com<a;ljfs;alfjsa;lkjfsa;lkfjska;ljfsafsd skdajflksadjflkdjfsa;lkdfjksa;ljfs;alfjsa;lkjfsa;lkfjska;ljfsafsd skdajflksadjflkdjfsa;lkv> ab4c@sina.com<dfjksa;ljfs;alfjsa;lkjfsa;lkfjska;ljfsafsd skdajf> abc5@sina.com<ksadjflkdjfsa;lkdfjksa;ljfs;alfjsa;lkjfsa;lkfjska;ljfsafsd skdajflksadjflkdjfsa;lkdfjksa;ljfs;alfjsa;lkjfsa;lkfjska;ljfsafsd skdajflksadjf> abc6@sina.com<lkdjfsa;lkdfjksa;ljfs;alfjsa;lkjfsa;lkfjska;ljfsafsd skdajflksadjflkdjfsa;lkd> abc7@sina.com<fjksa;ljfs;alfj> abc8@sina.com<sa;lkjfsa;lkfjska;ljfsafsd skdajflksadjflkdjfsa;lkdfjksa;ljfs;alfjsa;lkjfsa;lkfjska;ljfsafsd skdajflks> abc11@sina.com<adjflkdjfsa;> abc9@sina.com<lkdfjksa;ljfs;alfjsa;lkjfsa;lkfjska;ljfsafsd skdajflksadjflkdjfsa;lkdfjksa;ljfs;alfjsa;lkjfsa;lkfjska;ljfsafsd skdajflksadjf> abc12@sina.com<lkdjfsa;lk> abc55@sina.com<dfjksa;ljfs;alfjsa;lkjfsa;lkfjska;ljfsafsd skdajflksadjflk> abc123@sina.com<djfsa;lkdfjksa;ljfs;alfjsa;lkjfs> abc1234@sina.com<a;lkfjska;ljfsafsd sdfsakfjask;lfjsak;lfj qqq@sina.com aslk;fjsafsafsafs
我们只需要下载这个页面,然后解析其中的邮箱地址即可!
public class TestRegex { //获取指定文档中的邮件地址 public static void getMails() throws IOException { BufferedReader bufr = new BufferedReader(new FileReader("D:\\mail.txt")); String line = null; String mailReg = "\\w+@\\w+(\\.\\w)+"; Pattern p = Pattern.compile(mailReg); while((line = bufr.readLine()) != null) { Matcher m = p.matcher(line); while(m.find()) { System.out.println(m.group()); } } } public static void main(String[] args) throws IOException { getMails(); } }
好了,一个简单的网络爬虫就是这样的了!
如果要下载web页面呢?可以使用urlconnection进行下载:
public class TestRegex2 {
public static void getHtml() throws IOException {
URL url = new URL("http://s.taobao.com/search?q=%E8%A1%AC%E8%A1%AB&commend=all&ssid=s5-e&search_type=item&sourceId=tb.index&spm=1.7274553.1997520841.1&initiative_id=tbindexz_20150603");
URLConnection conn = url.openConnection();
BufferedReader bufferedReader = new BufferedReader(
new InputStreamReader(conn.getInputStream()));
String line = null;
// String mailReg = "g_page_config = ";
// Pattern p = Pattern.compile(mailReg);
while((line = bufferedReader.readLine()) != null) {
// Matcher m = p.matcher(line);
// while(m.find())
// {
// System.out.println(m.group());
// }
System.out.println(line);
}
}
public static void main(String[] args) throws IOException {
getHtml();
}
}
相关文章推荐
- #笔记#圣思园 JavaWeb 第3讲——HTTP协议,持续连接机制
- Android监听网络变化
- python http post json
- 基于HTTP Live Streaming(HLS) 搭建在线点播系统
- Http post提交和get提交
- HTTP Live Streaming直播(iOS直播)技术分析与实现
- 错误摘要HTTP 错误 500.19 - Internal Server Error 无法访问请求的页面,因为该页的相关配置数据无效。
- 设置 AFNetworking 网络请求的超时时间
- HttpURLConnection的GET和POST请求
- iOS 获取当前网络模式
- App Transport Security has blocked a cleartext HTTP (http://) 和Swift 2 中的异常处理
- TCP/IP协议学习之五(UDP协议)
- AFNetworking检查网络状态
- LUA XMLHttpRequest 中有个bug
- 计算机网络常考知识点总结
- Can not find the tag library descriptor for "http://java.sun.com/jsp/jstl/core
- Linux下tcp 和 udp 套接字收发缓冲区的大小决定规则
- 登陆网站时隐藏的密码在http头中是可以看的
- iOS最简单方法判断网络类型——通过状态栏显示
- 如何使用ListView实现一个带有网络请求,解析,分页,缓存的公共的List页面来大大的提高工作效率