linux-网页抓取

        最近一直在学习stevens的unix网络编程,对于网络通信有了一定的认识,所以也想练练手。聊天程序之前用winsock做过,这次不想做重复的。之前看到一哥们写过windows下抓取猫扑的帖子,我觉得抓页面也是一个不错想法。我也喜欢逛猫扑,有时候也去追追里面写的文章,猫扑帖子少了一个很重要的功能,就是只看楼主的帖子。猫扑水人很多,容易把楼主的帖子淹没在大海里面。

        查看了一下猫扑帖子的网页源代码,帖子内容介于<divclass="box2 js-reply"data-rid="*">和</div>之间,只需要解析这段内容,就能得到自己想要的东西。不过里面东西比较多,比较杂,还是先找一个简单页面抓取试试。csdn博客相对来说就是个不错的选择,第一没广告,内容不算很多,第二,代码风格很好。抓CSDN的页面无非获得博主名,文章名字和URL等,如果想获得更多的信息,可以把博主的排名,评论数抓取下来。

下面简单分析一下CSDN博客源代码。

博主标题:

<div id="blog_title">

            <h1>

                <a href="/lanyan822">编程小子的专栏</a></h1>

            <h2>锲而舍之,朽木不折;锲而不舍,金石可镂</h2>

            <div class="clear">

            </div>

        </div>
文章标题和URL:

  <span class="link_title"><a href="/lanyan822/article/details/7549916">

        ubuntu11.10搭建git服务器
        </a>
文章访问次数,评论次数等:

<div class="article_manage">

    <span class="link_postdate">2012-05-14 15:09</span>

    <span class="link_view" title="阅读次数"><a href="/lanyan822/article/details/7549916" title="阅读次数">阅读</a>(21)</span>

    <span class="link_comments" title="评论次数"><a href="/lanyan822/article/details/7549916#comments" title="评论次数">评论</a>(0)</span>
</div>
博客统计信息:

 <ul id="blog_rank">

            <li>访问:<span>1218次</span></li>

            <li>积分:<span>164分</span></li>

            <li>排名:<span>千里之外</span></li>

        </ul>


 <ul id="blog_statistics">

            <li>原创:<span>13篇</span></li>

            <li>转载:<span>2篇</span></li>

            <li>译文:<span>0篇</span></li>

            <li>评论:<span>1条</span></li>

        </ul>

 从上面贴出的HTML可以看出,所需要的信息都在某一个id下,每个id是唯一的,这对解析是很有利的。我们只需要抓取到网页,分析相应内容,得到想要的信息即可。

在确定CSDN博客是可以抓取后,就可以着手抓取。如何抓取?简单来说,就是与CSDN博客服务器简历tcp连接,然后发送HTTP请求,得到响应。页面抓取过程如下图所示:

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 9
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值