`
12616383
  • 浏览: 51276 次
  • 性别: Icon_minigender_1
  • 来自: 待定
社区版块
存档分类
最新评论

写了个解析 抓取百度搜索结果的类,比较简单,大家找茬,BUG多

 
阅读更多
问题不少,大家看看 提提意见啊!!!

package test;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.URL;
import java.net.URLConnection;
import java.util.ArrayList;
import java.util.List;

public class readBaidu {



public List  readHTML(String s) throws Exception {

List list = new ArrayList();

while(s.indexOf("<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\"><tr><td class=f>")>0){

baiduBean bb = new baiduBean();

int start = s.indexOf("<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\">");

int end = s.indexOf("</table>", start)+8;

String content = s.substring(start,end);

bb.setContents(this.getShow(content.replace(" ", "")));
bb.setUrl(this.getURL(content.replace(" ", "")));
bb.setTitle(this.getTitle(content.replace(" ", "")));

s = s.replace(content, "");

list.add(bb);
}


return list;
}


public String getContents(String path)throws Exception{

StringBuffer contents = new StringBuffer();


URL url = new URL(path);

URLConnection uc = url.openConnection();

BufferedReader bf = new BufferedReader(new InputStreamReader(uc.getInputStream()));

String nowLine = "";

while((nowLine=bf.readLine())!=null){

contents.append(nowLine);

}

return contents.toString();

}

public String getURL(String con){

String url = "";

int srartURL = con.indexOf("href=\"")+6;

int endURL = con.indexOf("target=", srartURL)-1;

url = con.substring(srartURL,endURL);

return url;

}

public String getTitle(String con){

String title = "";

int startCon = con.indexOf("<fontsize=")+14;

int endCon = con.indexOf("</a>",startCon);

title = con.substring(startCon,endCon);

title = title.replace("fontcolor", "font color");

return title;

}


public String getShow(String con){

String contents = "";

String br = "";

int startBR = con.indexOf("<br>")+17;

int endBR = con.indexOf("<br>",startBR);

br = con.substring(startBR,endBR);

br = br.replace("fontcolor", "font color");

return br;

}



public static void main(String[] args)throws Exception{


String path = "http://www.baidu.com/s?wd=csdn&pn=10";

readBaidu r = new readBaidu();

String rest = r.getContents(path);

List list = r.readHTML(rest);

for (int i = 0; i < list.size(); i++) {

baiduBean b = (baiduBean)list.get(i);

System.out.println(b.url);
System.out.println(b.title);
System.out.println(b.contents);


}

}

}


分享到:
评论

相关推荐

    php 抓取百度搜索结果脚本

    php 抓取百度搜索结果脚本,php命令行下运行

    抓取百度搜索结果——解密百度狗

    标题“抓取百度搜索结果——解密百度狗”所涉及的知识点主要集中在网络爬虫技术和搜索引擎的工作原理上。网络爬虫是一种自动获取网页信息的程序,它通过模拟浏览器的行为,发送HTTP请求到服务器,接收服务器返回的...

    Python实现抓取百度搜索结果页的网站标题信息

    比如,你想采集标题中包含“58同城”的SERP结果,并过滤包含有“北京”或“厦门”等结果数据。 该Python脚本主要是实现以上功能。 其中,使用BeautifulSoup来解析HTML,可以参考我的另外一篇文章:Windows8下安装...

    python 抓取百度云分享数据,百度云最新接口抓取分享链接

    通过阅读和理解这个项目的代码,你可以学习到更多关于如何抓取百度云分享链接的具体实现细节。 总的来说,抓取百度云分享数据涉及到了Python网络请求、数据解析、可能的验证码处理以及应对反爬策略等技术。在实践中...

    python抓取百度搜索的数据

    在本篇教程中,我们将详细介绍如何使用Python抓取百度搜索引擎返回的结果数据。此过程涉及到网络爬虫的基本概念和技术,包括HTTP请求、正则表达式匹配以及网页内容解析等。 #### 知识点一:Python环境搭建与库安装 ...

    百度关键词多层抓取

    通过百度关键词多层抓取,我们可以更全面地了解用户的需求,制定出更为精准的SEO策略,提高网站在百度搜索结果中的曝光率,最终促进网站流量和转化率的提升。记住,关键词策略需要定期更新和调整,以适应搜索引擎...

    winform实现百度网页内容抓取

    总的来说,通过结合C#的HttpWebRequest类和Winform的用户界面功能,我们可以构建一个简单但实用的百度网页内容抓取工具。这不仅有助于学习HTTP通信和网页抓取,还可以作为进一步开发更复杂网络爬虫的基础。

    百度搜索代码解析

    总的来说,通过Java代码解析百度搜索,我们可以学习到网络爬虫、全文索引、查询处理和排序算法等多个领域的知识,这对于提升我们的编程技能和理解搜索引擎工作原理都大有裨益。同时,这也提醒我们在日常开发中,应...

    百度关键词排名抓取程序

    描述中提到的“百度关键词排名抓取程序”没有给出具体细节,但我们可以推测其基本工作流程:程序输入一个或多个关键词,然后模拟用户搜索行为,抓取百度搜索结果页面,提取出每个关键词对应的网页排名,并可能记录...

    百度关键词搜索结果页标题的抓取

    本项目“百度关键词搜索结果页标题的抓取”主要利用了.NET框架中的HttpWebReuqest和HttpWebResponse类来实现对网页内容的获取,然后从中解析出关键词搜索结果页的标题。下面我们将详细探讨这一过程。 首先,...

    抓取Bing 搜索引擎的搜索结果的python 脚本

    总之,通过Python编写Bing搜索引擎的搜索结果抓取脚本,涉及到了网络请求、HTML解析、反爬策略、爬虫框架以及可能的人工智能应用等多个IT领域的知识点。通过实践,不仅可以提升编程技能,还能对互联网数据有更深入的...

    BaiduSpider,一个爬取百度搜索结果的爬虫.zip

    目前支持百度网页搜索,百度图片搜索,百度知道搜索,百度视频搜索,百度资讯搜索,百度文库搜索,百度经验搜索和百度百科搜索。 爬虫(Web Crawler)是一种自动化程序,用于从互联网上收集信息。其主要功能是访问...

    利用java实现从百度网站上获取搜索数据

    在Java编程环境中,从百度网站获取搜索数据是一个涉及网络爬虫和数据分析的过程。这个过程通常包括以下几个关键步骤和相关的知识点: 1. **网络请求库**:为了从网站抓取数据,你需要一个能够发送HTTP请求的库。在...

    百度地图抓取软件

    "百度地图抓取软件"就是这样一款工具,它允许用户将百度网页地图的数据抓取并保存到本地,以便离线使用或进行进一步的分析处理。 首先,我们来理解一下什么是地图抓取。地图抓取是指通过自动化手段从网络上的地图...

    Python抓取百度查询结果的方法

    主要介绍了Python抓取百度查询结果的方法,涉及Python正则匹配及字符串与URL操作的相关技巧,需要的朋友可以参考下

    抓取百度的查询内容

    对于抓取百度搜索结果,我们首先要构建一个请求URL。百度搜索的查询URL通常格式为:`http://www.baidu.com/s?wd=YOUR_SEARCH_TERM`,其中`YOUR_SEARCH_TERM`是你想要搜索的关键词。例如,如果我们要搜索“Python编程...

    Java抓取百度图片

    在本文中,我们将深入探讨如何使用Java编程语言和Spring Boot框架来实现百度图片的抓取与下载功能。首先,我们需要了解几个关键的概念和技术。 **Java** 是一种广泛使用的面向对象的编程语言,它以其跨平台的特性而...

    百度文库资源解析原理与实现讲解.doc

    总的来说,百度文库资源的解析与下载涉及到网页抓取、信息解析、多线程编程、文件格式处理等多个技术环节。理解这些原理,不仅可以帮助我们自定义工具下载文档,也对网络爬虫和数据抓取等领域有重要参考价值。然而,...

    百度地图数据抓取

    在IT行业中,数据抓取是一项重要的技能,尤其在地理信息系统(GIS)领域,如百度地图。数据抓取,也称为网络爬虫或网页抓取,是通过自动化程序从互联网上收集信息的过程。在这个场景中,我们关注的是如何从百度地图...

Global site tag (gtag.js) - Google Analytics