python-80:获取文章的内容

获取文章的内容是这个实例的第二步,但是这个看起来不难实现,因为,我们要获取的文章都是发布在伯乐在线这个网站里面的,也就是说,他们的网页代码的形式和组织结构都是一样的,这就意味着,我们只需要一个公式,就能适用于所有的文章,如果,我们要获取的网页不是同一个站点发布的,那么,每个站点的编码风格可能会不一样,这给我们获取正文内容带来一定的困难,幸好,我们现在不用面对这种情况。

那么,这个公式是什么呢?我们需要通过分析网页源代码的规律才能总结出来,为了提高准确率,我们应该多分析一些网页

好了,这里不会写出过程,但是我还是希望能够自己去分析一遍,这并不会花费多少时间,就直接给出结果吧

首先,文章的标题可以在这里获得:

<title>这样的谷歌街景,你肯定没见过 - 博客 - 伯乐在线</title>

或者你也可以在这段代码中同时获得文章的标题和内容:

<div class="grid-8">    
    <!-- BEGIN .post -->
<div class="post-97162 post type-post status-publish format-standard hentry category-geeks tag-4751 tag-4750 odd" id="post-97162">
    
    <!-- BEGIN .entry-header -->
    <div class="entry-header">            
        <h1>这样的谷歌街景,你肯定没见过</h1>                        
    </div>
    <!-- BEGIN .entry-header -->
    <!-- BEGIN .entry-meta -->
    <div class="entry-meta">
        <p class="entry-meta-hide-on-mobile">
            2016/01/14 &middot;  <a href="http://blog.jobbole.com/category/geeks/" title="查看 极客 中的全部文章" rel="category tag">极客</a>
                            &middot; <a href="#article-comment"> 2 评论 </a>
             &middot;  <a href="http://blog.jobbole.com/tag/%e5%be%ae%e7%bc%a9%e6%99%af%e8%a7%82/">微缩景观</a>, <a href="http://blog.jobbole.com/tag/%e8%b0%b7%e6%ad%8c%e8%a1%97%e6%99%af/">谷歌街景</a>   
</p>
<!-- JiaThis Button BEGIN -->
<div class="jiathis_style" style="display: block; margin: 0 0px; clear: both;"><span class="jiathis_txt">分享到:</span>
<a class="jiathis_button_tsina"></a>
<a class="jiathis_button_weixin"></a>
<a class="jiathis_button_qzone"></a>
<a class="jiathis_button_fb"></a>
<a class="jiathis_button_douban"></a>
<a class="jiathis_button_readitlater"></a>
<a class="jiathis_button_evernote"></a>
<a class="jiathis_button_ydnote"></a>
<a href="http://www.jiathis.com/share?uid=1745061" class="jiathis jiathis_txt jiathis_separator jtico jtico_jiathis" target="_blank"></a>
<a class="jiathis_counter_style"></a>
</div>
<!-- JiaThis Button END -->
    </div>
    <!-- END .entry-meta -->
    <!-- BEGIN .entry -->
    <div class="entry">
        <script src="http://www.imooc.com/open/courselistrandjs"></script><span style='display:block;margin-bottom:10px;'></span>
        <div class='copyright-area'>本文作者: <a href='http://blog.jobbole.com'>伯乐在线</a> - <a href='http://www.jobbole.com/members/aoi'>伯小乐</a> 。未经作者许可,禁止转载!<br/>欢迎加入伯乐在线<a href='http://group.jobbole.com/category/feedback/writer-team/' target='_blank'>作者团队</a>。</div><p>在德国港口城市汉堡有个历史悠久的城区叫库房区,其中有一个著名的旅游景点 —— Miniatur Wunderland(微缩仙境)。它是世界上最大的铁路微缩模型系统,所以也被称之为「微缩火车乐园」。</p>
<p>「微缩仙境」由格里特·布劳恩和弗雷德里克·布劳恩(他俩还是双胞胎哦)从 2000 年开始投资修建,于 2001 年 8 月完成 3 个主题展区的建设,当年开始对外开放接纳游客。</p>
<p>修完 3 个主题展区后,布劳恩两兄弟还在一直扩建。根据维基百科上的最新数据,「微缩仙境」目前已建完 8 个主题展区,2016 年春季预计将开放「意大利」展区。详情看下表:</p>
<table>
<tbody>

在 class="entry-header" 里面获得文章标题,然后在 class="entry"里面获取正文内容,而且,他们都被包含在<div class="grid-8">里面,至于这个结论是怎么来的,就像之前说过的一样是一个找规律的过程,先看网页上的标题是什么,正文第一句是什么,然后在源码中搜索这些字段,找出他们被包含在哪个代码块里,然后经过对比确定是不是想要的结果,这个过程很简单,认真分析过两三次就会了

所以,我们获取正文的代码是这样的:

#!/usr/bin/env python
# -*- coding:UTF-8 -*-
__author__ = '217小月月坑'

'''
get the contents of the artical
'''

import urllib2
from bs4 import BeautifulSoup

import sys
reload(sys)
sys.setdefaultencoding( "utf-8" )

url = "http://blog.jobbole.com/97183/"
request = urllib2.Request(url)
response = urllib2.urlopen(request)

soup = BeautifulSoup(response.read())
title = soup.title.string
print title

contents = soup.find("div", attrs={"class":"entry"})
print contents.get_text()

结果如下:

225109_L6HR_2429887.png

第二部分也这样简简单单的完成了,我们接下来会讲最有趣的部分,交互

转载于:https://my.oschina.net/u/2429887/blog/607671

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值