详细说明使用正则表达式实现网络爬虫的思路
网络爬虫:是在互联网上获取指定规则数据的程序。
思考:
1.为了模拟网络爬虫,我们可以在tomcat服务器上部署一个1.html网页。(部署步骤:在tomcat目录的webapps目录的ROOTS目录下创建一个新的1.html。使用记事本进行编辑,编辑内容如下:
)
2.使用网址与网页建立联系。3.获取用于读取网页内容的输入流。4.建立规则。因为我们在这里抓取网页中的邮箱信息,所以建立正则表达式匹配邮箱:String regex=' \[email protected]\ w(\)。\ w)';5.将提取的数据放入集合中。
代码:
导入Java . io . bufferedeer;导入Java . io . InputStream;导入Java . io . InputStreamReader;导入Java . net . URL;导入Java . util . ArrayList;导入Java . util . list;导入Java . util . regex . Matcher;导入Java . util . regex . pattern;/* * Webcrawler :是一个用于在Internet上获取指定规则的数据的程序* * */public class regex demo { public static void main(string[]args)抛出异常{ liststring list=getmailboyeb();for(String str : list){ system . out . println(str);} } private static list string getmail by web()引发异常{//1。与网页建立联系。使用URL string path=' http://localhost :8080//1 . html ';//用双斜线转义URL url=新的URL(路径);//2.获取输入流input stream为=URL . openstream();//缓冲读取器br=新缓冲读取器(新输入流读取器(IS));//3.提取与邮箱字符串regex=' \ \[电子邮件保护] \ \ w (\ \)匹配的数据。\ \ w)';//Match//将常规规则封装到一个对象中Pattern p=Pattern.compile(regex);//将提取的数据放入一个集合liststringlist=new ArrayList string();字符串行=nullwhile((line=br.readLine())!=null){//Matcher Matcher m=p . Matcher(行);While(m.find()){ //3。将符合规则的数据存储在set list.add(m.group())中;} }返回列表;}}请注意,需要在执行之前打开tomcat服务器
运行结果:
摘要
以上是边肖介绍的用正则表达式实现网络爬虫的思路的详细说明,希望对大家有所帮助。如果你有任何问题,请给我留言,边肖会及时回复你。非常感谢您对我们网站的支持!
版权声明:详细说明使用正则表达式实现网络爬虫的思路是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。