python-83:公务员时间源码 V-0.1

好了,咱们前面已经将整个实例的功能分为三大块,而且也已经分别实现了,如今咱们试着将全部功能整合到一块儿看看html

个人源码是这样的
python

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

'''
公务员时间源码 V-0.1
'''

from bs4 import BeautifulSoup
import urllib2
import re
import os
import sys

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

# get the source code of html
url = 'http://blog.jobbole.com/all-posts/'
request = urllib2.Request(url)
response = urllib2.urlopen(request)
contents = response.read()

# get the date
search_date = os.popen(r'date -d"yesterday" +"%Y/%m/%d"').read().strip('\n')

# get url, title, date of the article
pattern = re.compile(r'class="archive-title".*?href="(.*?)".*?title="(.*?)">.*?<br />(.*?)<a.*?', re.S)
items = re.findall(pattern, contents)
i = 0
url_list = []
title_list = []

for item in items:
    release_date = re.sub(r'\s', "", item[2]).split(r'&')[0]
    if search_date == release_date:
        # 将数据存入列表为了便于后面的显示
        url_list.append(item[0])      
        title_list.append(item[1])
        continue

# 显示序号,文章网址和文章标题
for i in range(len(url_list)):
    print i + 1, url_list[i], title_list[i]

while(True):
    order = input("请输入文章序号查看文章:")
    art_url = url_list[order-1]

    art_request = urllib2.Request(art_url)
    art_response = urllib2.urlopen(art_request)
    art_soup = BeautifulSoup(art_response.read())
    art_title = art_soup.title.string
    print art_title
    art_contents = art_soup.find("div", attrs={"class":"entry"})
    print art_contents.get_text()
    while(True):
        action = raw_input("请选择下一步的操做(b:返回标题列表;s:保存文章并返回标题列表;q:退出程序):")
        if action == "b":
            for i in range(len(url_list)):
                print i + 1, url_list[i], title_list[i]
            break
        if action == "s":
            path = '/home/ym/'+art_title
            f = open (path,"w+")
            f.write(art_contents.get_text())
            f.close()
            for i in range(len(url_list)):
                print i + 1, url_list[i], title_list[i]
            break
        if action == "q":
            exit(0)
    continue

运行结果:
app



相关文章
相关标签/搜索