`
liujunhui1988
  • 浏览: 9670 次
社区版块
存档分类
最新评论

java爬取网页源代码,解析

阅读更多

1.搜索词的地址采用模拟地址方法(通过分析搜索引擎的参数得到,如百度),然后将搜索词加到模拟的地址中。

2.函数的输入参数是模拟地址。

String query = URLEncoder.encode("潘柱廷", "UTF-8");

String url="http://www.baidu.com/s?wd="+query+"&pn="+p*10+"&tn=baiduhome_pg&ie=utf-8"

public void MakeQuery(String domain) {
  try {
   HttpClient httpClient = new HttpClient();
   GetMethod getMethod = new GetMethod(domain);
   
   //System.out.println("*************************************************************");
   //System.out.println(getMethod);

   try{
    httpClient.executeMethod(getMethod);
    }catch(Exception e){
     System.out.println("网络问题");
    }
   getMethod.getParams().setParameter(HttpMethodParams.RETRY_HANDLER,
     new DefaultHttpMethodRetryHandler());

   int statusCode = httpClient.executeMethod(getMethod);
   if (statusCode != HttpStatus.SC_OK) {
    System.err.println("Method failed: "
      + getMethod.getStatusLine());
   }
   
   
   byte[] responseBody = getMethod.getResponseBody();
   
   //System.out.println("*************************************************************");
   //System.out.println(responseBody);
   
   
   
   String response = new String(responseBody, "UTF-8");
   
   //System.out.println("*************************************************************");
   //System.out.println(response);
   
   //Jsoup解析html
   Document doc=Jsoup.parse(response);
   //System.out.println("*************************************************************");
   //System.out.println(doc);
  
 
   
   Elements contents=doc.getElementsByClass("f");
   for(Element content:contents){

   Element links = content.getElementsByTag("a").first();
     String linkHref = links.attr("href");//链接
     String linkText = links.text();//摘要
     FoursearchZH.map.put(linkHref, linkText);
    
     System.out.println("------------------");
     System.out.println(linkHref);
        System.out.println(linkText);
    }
  
  } catch (Exception e) {
   System.err.println("Something went wrong...");
   e.printStackTrace();
  }
  }

分享到:
评论

相关推荐

    java获取百度网盘真实下载链接的方法

    主要介绍了java获取百度网盘真实下载链接的方法,涉及java针对URL操作及页面分析的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下

    Python编写爬虫来获取热门文章

    我们选择了知乎作为爬取目标,并通过分析网页源代码找到了热门文章的数据接口。最后,我们使用了Requests和BeautifulSoup库来发送请求和解析HTML代码。本文介绍了如何使用Python编写爬虫来获取热门文章。我们选择了...

    基于Apache Nutch和Solr的AJAX页面内容爬取与处理设计源码

    项目共包含1064个文件,其中Java源代码文件458个,XML配置文件181个,文本文件81个,HTML页面文件56个,JPG图片文件56个,VM文件32个,CRC文件26个,测试文件13个,JAR打包文件12个,以及Properties配置文件9个。...

    java抓取网页数据源码-neocrawler:NodejsCrawler,包括schedule、spider、webuiconfig、pro

    爬虫在抓取时就对网页进行了结构化解析,摘取到需要的数据字段,入库时不仅是网页源代码还有结构化了的各字段数据,不仅使得网页抓取后数据立马可用,而且便于实现入库时的精准化的内容排重。 集成了phantomjs。...

    python爬虫项目代码

    数据解析:使用HTML解析器(如BeautifulSoup、XPath等)将获取的HTML源代码解析为可操作的数据结构,例如树形结构或文档对象模型(DOM)。 数据抽取:根据预先设定的规则,从解析后的HTML文档中提取所需的数据。这...

    搜索链接Java网络爬虫(蜘蛛)源码-zhizhu.rar

    通过这个源码文件包,你可以学习到如何使用Java编写网络爬虫,如何解析网页内容,以及如何存储和处理爬取到的数据。此外,这个源码文件包还提供了一些示例代码和注释,帮助你更好地理解和掌握网络爬虫的开发过程。...

    python项目开发实战入门 (实用性极强,方向全,最新)

    数据解析:使用HTML解析器(如BeautifulSoup、XPath等)将获取的HTML源代码解析为可操作的数据结构,例如树形结构或文档对象模型(DOM)。 数据抽取:根据预先设定的规则,从解析后的HTML文档中提取所需的数据。这...

    Java毕业设计-[搜索链接]Java网络爬虫(蜘蛛)源码_zhizhu.rar

    2. **网页抓取**:通过HTTP/HTTPS协议获取网页源代码,支持自定义User-Agent、代理IP等设置。 3. **数据解析**:利用正则表达式或HTML解析库(如Jsoup)从网页中提取所需数据。 4. **存储处理**:支持将抓取到的数据...

    Reptilian.zip

    java写的一个简单的爬虫小程序,支持虚拟ip代理、文件保存、网页源代码解析等。网络爬虫主要功能就是对网页内容进行爬取,然后根据特定需求对内容进行过滤分析。 针对网页内容爬取,假设需求为要对一个网站进行全站...

    关于Java和Python爬虫那些事儿.zip

    源代码:包括Python代码和相关脚本。这些代码展示了如何使用Python进行网页抓取、解析和数据提取。 项目文件:除了代码,我还分享了整个项目的文件,包括设计稿、图标、图片等资源。这些资源对于理解项目背景和设计...

    Python入门网络爬虫之精华版

    它的工作原理是:从网页的url加载网页的源代码之后,会在浏览器里执行JavaScript程序。这些程序会加载更多的内容,“填充”到网页里。这就是为什么如果你直接去爬网页本身的url,你会找不到页面的实际内容。 这里,...

Global site tag (gtag.js) - Google Analytics