//读取网页上的内容方法---------------------20100125 public String getOneHtml(String htmlurl) throws IOException {
URL url;
String temp;
final StringBuffer sb = new StringBuffer();
try {
url = new URL(htmlurl);
// 读取网页全部内容
final BufferedReader in = new BufferedReader(new InputStreamReader(
urlopenStream(),"GBK"));
while ((temp = inreadLine()) != null) {
sbappend(temp);
}
inclose();
} catch (final MalformedURLException me) {
Systemoutprintln("你输入的URL格式有问题!请仔细输入");
megetMessage();
} catch (final IOException e) {
eprintStackTrace();
}
return sbtoString();
}上面这个方法是根据你传入的url爬取整个网页的内容,然后你写个正则表达式去匹配这个字符串的内容。
你得先查看sina微博空间的用户日志页面的源代码以及用正则表达式表示它通配的URL,这样你就可以抓取到你想要的东西了,我这边做了一个抓取sina,网易,yahoo网站上的新闻资讯,需要给我发邮件,我邮箱:yghsxdr2009@163com
使用WebCollector来爬取百度搜索引擎按照关键字搜索的结果页面,解析规则可能会随百度搜索的改版而失效。
我们希望继续爬取每条搜索结果指向的网页,这里统称为外链。
我们希望在访问外链时仍然能够知道外链处于搜索引擎的第几页、第几条,
所以将页号和排序信息放入后续的CrawlDatum中,为了能够区分外链和
搜索引擎结果页面,我们将其pageType设置为outlink,这里的值完全由 用户定义,可以设置一个任意的值
在经典爬虫中,每个网页都有一个refer信息,表示当前网页的链接来源。
例如我们首先访问新浪首页,然后从新浪首页中解析出了新的新闻链接,
则这些网页的refer值都是新浪首页。WebCollector不直接保存refer值,
但我们可以通过下面的方式,将refer信息保存在metaData中,达到同样的效果。
经典爬虫中锚文本的存储也可以通过下面方式实现。
在一些需求中,希望得到当前页面在遍历树中的深度,利用metaData很容易实现
这个功能,在将CrawlDatum添加到next中时,将其depth设置为当前访问页面 的depth+1即可。
//这是一位老师讲课时的爬邮箱代码,你可以参考一下
package cnitcastregextest;
import javaioBufferedReader;
import javaioFileReader;
import javaioIOException;
import javaioInputStreamReader;
import javanetURL;
import javautilArrayList;
import javautilList;
import javautilregexMatcher;
import javautilregexPattern;
/
网页爬虫:其实就一个程序用于在互联网中获取符合指定规则的数据。
爬取邮箱地址。
/
public class RegexTest2 {
/
@param args
@throws IOException
/
public static void main(String[] args) throws IOException {
List<String> list = getMailsByWeb();
for(String mail : list){
Systemoutprintln(mail);
}
}
public static List<String> getMailsByWeb() throws IOException {
//1,读取源文件。
// BufferedReader bufr = new BufferedReader(new FileReader("c:\\mailhtml"));
URL url = new URL(">
以上就是关于用java写爬虫程序,有个网站获取不到链接,求指导全部的内容,包括:用java写爬虫程序,有个网站获取不到链接,求指导、Java语言编写提取网页信息!求高手指导!、java怎么用webcollector爬取js动态页面工程等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)