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

通过htmlParser抓取百度的相关内容

阅读更多

最近这两天我做了个最新电影网的视频网站,主要是从土豆抓取来的.所以内容页就是框架,不便于搜索的抓取。所以我就想加些相关内容,像这样的内容
      由于我就是通过百度搜索关键字来填充内容。下面就是我通过htmlParser抓取的代码。

public class BaiduResultAction extends BaseAction {

    
public static final Logger logger = Logger
            .getLogger(BaiduResultAction.
class);

    
/** *//**
     * 组装新闻
     * 
     * 
@param url
     * 
@return
     
*/

    
public String compNews(String url) {
        String returnContent 
= null;
        
try {
            ParserModel parserModel 
= new ParserModel();
            
//table 的抓取标签
            String content = "border=\"0\" cellpadding=\"0\" cellspacing=\"0\"";
            parserModel.setContent(content);
            NodeClassNameFilter contentNodeClassNameFilter 
= new NodeClassNameFilter(
                    TableTag.
class, parserModel);

            NodeList contentList 
= getAllNodeList(url,
                    contentNodeClassNameFilter);

            
// 对table的处理 只取第一个table中的一项记录
            
//如果全部抓取内容,则要去掉最后一个break;
            for (int i = 1; i < contentList.size(); i++{
                
if (contentList.elementAt(i) instanceof TableTag) {
                    TableTag tableContent 
= (TableTag) contentList
                            .elementAt(i);
                    
int rowCount = tableContent.getRowCount();
                    TableRow[] arrRows 
= tableContent.getRows();
                    
for (int j = 0; j < arrRows.length; j++{
                        TableRow tableRow 
= arrRows[j];
                        TableColumn[] arrColumm 
= tableRow.getColumns();
                        
for (int k = 0; k < arrColumm.length; k++{
                            String columContent 
= arrColumm[k].toHtml();
                            
if(columContent != null){
                                String[] split 
= columContent.split("<br>");
                                
if(split.length>2)
                                    returnContent 
= split[1].substring(0,split[1].length()-4);
                            }

                            
break;
                        }

                    }

                }

                
break;
            }
        
        }
 catch (IllegalArgumentException e) {
            
// TODO Auto-generated catch block
            e.printStackTrace();
            
return null;
        }
 catch (Exception e) {
            
// TODO Auto-generated catch block
            e.printStackTrace();
        }

        
return returnContent;
    }


    
public static void main(String[] args) throws Exception {
        BaiduResultAction action 
= new BaiduResultAction();
        
//抓取sohu的内容.通过百度
        String url = "http://www.baidu.com/s?wd=%BA%DA%BF%CD%B5%DB%B9%FAII+11%28112%29++site%3Asohu.com";
        
// String url = "http://bbs.hoopchina.com/htm_data/96/0712/274754.html";
        
// List<String> hrefList = sinaAction.parseLink(url, getIndexFilter());
        /**//* logger.debug(sinaAction.compNews(url)); */
        action.compNews(url);
    }

}

效果如下:http://www.tondou.cn/c/2008-05-12/314146

2
4
分享到:
评论

相关推荐

    C# 抓取百度MP3地址 htmlparser实例

    综上所述,通过结合C#的网络请求功能和HTMLParser库,我们可以高效地从百度MP3页面抓取MP3链接和其他相关信息。这是一个实用的技能,对于任何需要从网页抓取数据的应用都非常有价值。在实践中,不断学习和优化,可以...

    歌曲链接提取和下载(htmlparser 和http下载)

    标签中提到的**百度MP3**,暗示可能是在处理与百度音乐相关的内容。百度音乐是一个在线音乐服务平台,提供了大量的歌曲资源。提取和下载百度MP3的链接可能涉及到对百度音乐网页的爬取,这可能需要处理动态加载的内容...

    抓取豆瓣妹子

    利用htmlparser,htmllexer抓取豆瓣妹子

    易语言取百度贴吧人

    通过学习和理解以上知识点,你可以构建一个基本的百度贴吧用户信息抓取程序。当然,实际的项目可能还会涉及到更多的技术细节和优化策略,比如使用代理IP防止被封禁、设置延迟以减轻服务器压力等。

    利用Python爬取百度百科词条

    本项目以"利用Python爬取百度百科词条"为主题,旨在教授如何使用Python基础爬虫技术抓取百度百科上的信息,包括词条标题、摘要和链接等关键数据。 首先,我们来看`URLManager.py`,这个文件通常用于管理待爬取的URL...

    Python爬虫实现爬取百度百科词条功能实例

    本实例主要讲解如何使用Python编写爬虫来抓取百度百科中的词条信息。 首先,我们需要了解爬虫的基本工作原理。爬虫通常由以下几个核心组件构成: 1. **URL管理器(UrlManager)**:负责存储待抓取和已抓取的URL。...

    易语言取百度博客文本源码.zip易语言项目例子源码下载

    这个"易语言取百度博客文本源码.zip"的压缩包文件提供了一个易语言项目的示例源码,主要功能是抓取百度博客的文本源码。下面我们将深入探讨这个项目涉及到的相关知识点。 首先,我们要了解易语言的基础语法和结构。...

    python抓取网页内容并进行语音播报的方法

    利用百度的语音合成api进行语音播报,抓取的页面是北大未名BBS的十大。 先放抓取模块BDWM.py的代码: # -*- coding: utf-8 -*- import urllib2 import HTMLParser class MyParser(HTMLParser.HTMLParser): def __...

    简单搜索引擎分析与开发毕业设计论文(20210809123532).pdf

    查询模块是搜索引擎面向用户的一端,它处理用户的查询请求,通过搜索索引数据库获取相关的搜索结果,然后按照一定的算法对搜索结果进行排序,最后返回给用户。结果排序的算法对用户体验有非常直接的影响,好的排序...

    基于python实现的百度新歌榜、热歌榜下载器(附代码)

    2. 登录成功后,抓取并解析页面内容,获取歌单列表。 3. 用户选择下载歌曲,程序开始执行下载任务。 在编写这个下载器的过程中,主要应用了以下技术: 1. **PyQt GUI编程**:使用PyQt库构建用户界面,包括...

    python获取百度热榜链接的实例方法

    本文旨在分享如何使用Python编程语言抓取百度热榜中的热门话题及其链接。百度作为中国最大的搜索引擎之一,其热榜反映了当前互联网上的热点话题。对于数据分析、趋势研究等领域来说,能够自动获取这些数据非常有价值...

    seo 关键词优化工具

    SEO(Search Engine Optimization)是搜索引擎优化的简称,它是一种通过改善网站内容、结构和外部链接等策略,提高网站在搜索引擎自然搜索结果中的排名的技术。关键词优化是SEO中的关键环节,目的是使目标关键词与...

    python使用htmllib分析网页内容的方法

    在Python中,解析和分析HTML网页内容是Web开发和数据抓取中的常见任务。`htmllib`是Python标准库中一个古老的模块,用于解析HTML文档。虽然现在更推荐使用更新的库如`BeautifulSoup`或`lxml`,但理解`htmllib`的基本...

    基于python实现的音乐下载器python pyqt改进版(附代码)

    原本的HtmlParser解析库被替换为BeautifulSoup,BeautifulSoup是一个更为强大且灵活的HTML和XML文档解析库,能更有效地解析和处理网页内容。 **运行环境及依赖**: 为了运行这个项目,你需要安装Python的PyQt库和...

    利搜网站排名 v2.59

    4. **网络爬虫技术**:为了模拟真实的搜索引擎行为,软件可能使用了网络爬虫技术,抓取和分析相关网页,以便获取正确的搜索关键词和目标网址。 5. **安全与合规**:值得注意的是,使用这类工具可能会违反搜索引擎的...

    编写Python脚本来获取Google搜索结果的示例

    - **百度(Baidu)**:适用于中文内容搜索,但对于英文或其他语言的支持不如Google全面。 - **Yahoo!**:早期流行的搜索引擎之一,但现在已不再是主流选择。 2. **Google的搜索方式**: - **传统的HTML搜索结果...

    python之——使用python编写爬虫脚本

    在Python编程领域,爬虫是一种常见的技术,用于自动抓取互联网上的信息。本文将深入讲解如何使用Python编写爬虫脚本,以爬取百度百科为例,介绍爬虫的基本组成部分。 首先,爬虫由五个主要部分构成: 1. **调度器...

Global site tag (gtag.js) - Google Analytics