如何在无聊的时候查看"知乎每日精选"?

enter image description here

附上源码:
# -- coding=utf-8 --
import urllib2,re

'''
基本爬虫入门-知乎日报
实现将每天的精选的title和link下载下来
写成zhi-daily.doc

参考链接:
http://blog.csdn.net/yiliumu/article/details/21335245
'''
def httpCrawler(url):
'''
网页抓取
'''
content=httpRequest(url)#发送请求
title=parseHtml(content)#解析网页内容 获得title
saveData(title)#存储到本地

def httpRequest(url):
'''
发送请求
'''
try:
page=None#返回请求内容
SockFile=None#中间变量
request=urllib2.Request(url)#使用urllib2模块
#添加header 模拟客户端
request.add_header('User-Agent', 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET CLR 1.1.4322)')
request.add_header('Pragma', 'no-cache')
opener=urllib2.build_opener()
SockFile=opener.open(request)
page=SockFile.read()

finally:
if SockFile:
SockFile.close()

return page

def parseHtml(html):
'''
解析rss内容

'''
result=""
content=""
pattern=r'<title>(.+?)</title>'#正则表达式匹配
pattern1=r'<link>(.+?)</link>'
temp = re.compile(pattern)
link = re.compile(pattern1)
temp=re.findall(temp,html)#temp为list-列表
link=re.findall(link,html)#link为list-列表

article=temp[0]
x=0
for title in temp:
if x!=0:
string=str(x)+"."
string+=title.decode('utf-8').encode('gbk')
string+="\v\v"
string+=link[x]
string+="\v"
#将unicode译码为utf-8编码 再转gbk在cmd下显示
content+=string+"\v" #纵向制表符换行
x+=1

result="\t\t\t"+article.decode('utf-8').encode('gbk')+"\v"+content
return result

def saveData(data):
'''
存储到本地
'''
f=open('dou-daily.doc','w') #写二进制
f.write(data)
f.close()

if __name__=='__main__':#如果运行的是主程序
url='http://www.douban.com/feed/review/latest'#要爬的网页
httpCrawler(url)

标签: none

添加新评论