python-78:对日期格式进行处理

好,这一小节来讲讲怎么对日期格式进行处理,我们再来看看那难看的日期,这将会是它最后一次出现在我们的视线中

                2016/01/14 ·

我们的处理就是将空格,特殊字符和字符去掉,最后只保留 "2016/01/14" 我选择的依然是RE,有很多种写法,作为参考,我这里给出两种

  1. 使用RE和python分割字符串的方法

去点字符串中的空格,并以&来分割字符串,选分割后的第一块数据

re.sub(r'\s',"",item[2]).split(r'&')[0]

   2. 仅仅使用RE

RE匹配日期的格式xxxx/xx/xx,将所匹配到的内容返回来

re.search(r'\d{4}/\d{2}/\d{2}',str).group()

然后我们的代码就变成了这样

#!/usr/bin/env python
# -*- coding:UTF-8 -*-
__author__ = '217小月月坑'
 
'''
deal with the date format
'''
from bs4 import BeautifulSoup
import urllib2
import re

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

url = 'http://blog.jobbole.com/all-posts/'
request = urllib2.Request(url)
response = urllib2.urlopen(request)
contents = response.read()

pattern = re.compile(r'class="archive-title".*?href="(.*?)".*?title="(.*?)">.*?<br />(.*?)<a.*?',re.S)
items = re.findall(pattern,contents)
for item in items:
    print item[0], item[1], re.sub(r'\s',"",item[2]).split(r'&')[0]

将日期格式处理好之后输出是这样子的

python-78:对日期格式进行处理_第1张图片

终于看起来顺眼一些了,现在再来谈论下一个问题,为什么要大费周章的对这些日期的输出格式进行处理

你可能感兴趣的:(python,爬虫)