読者です 読者をやめる 読者になる 読者になる

The jonki

呼ばれて飛び出てじょじょじょじょーんき

RSSから適当に引っ張りだしてBloggerに投稿

ITニュース RSS Python

Bloggerに投稿シリーズも第2段。
もういいだろw

BeautifuleSoup使って記事タイトルとディスクリプションを引っ張りだし、
split関数使って無理やりURL引っ張り出す。

Bloggerへの投稿は前の日記(mailtter: Twitterの発言をBloggerに投稿する )で作ったmailtterライブラリ使って投稿。

何ともひどいソースだけど、うpするお(・∀・)
実行するとこんな感じで表示される。
[jonki's news] Monday, 09 February 2009

にしてももうちょっとソースうまくBloggerに表示できないのかな。

・junkReader.py


#!/usr/bin/python -S
# -*- coding: utf-8 -*-

#@author Junki OHMURA
#@date 2009/02/09

import urllib
import BeautifulSoup
import urllib2

from mailtter import *

#linkタグからリンク取り出し
def getLink(_soup):
_link_list = []
for item in _soup.findAll('item'):
_item_str = item.encode('utf-8')
_link_tag = _item_str.split('')
_link_list.append( _link_tag[1].split('\n')[0] )

return _link_list

def output(_url):
soup = BeautifulSoup.BeautifulSoup(urllib.urlopen(_url))
link_list = getLink(soup)
l=0
_main_body=""
for item in soup.findAll('item'):

_main_body += '' +
       item.title.string + '

'
l += 1
# print item.description.string[:50] + '・・・'
# print '
'
_main_body += item.description.string[:50] + '・・・' + '
'
if(l>3): #上位4個で打ち切り
break
return _main_body

url = {
'[CNET -ja-]': 'http://feeds.japan.cnet.com/cnet/rss',
'[CNET -en-]': 'http://news.cnet.com/2547-1_3-0-20.xml',
'[ITpro]': 'http://itpro.nikkeibp.co.jp/rss/ITpro.rdf',
'[P2P Today ダブルスラッシュ]': 'http://wslash.com/?feed=rss2',
'[スラッシュドット・ジャパン]': 'http://slashdot.jp/slashdotjp.rss',
'[ITmedia News]': 'http://rss.itmedia.co.jp/rss/1.0/news_bursts.xml',
}

main_body = ""
for key, values in url.iteritems():
#print '

' + key + '

'
main_body += '

' + key + '

'
main_body += output(values)



encoding = 'utf-8'
subject = '[jonki\'s news] '
body = main_body
from_addr = 'from-addr@gmail.com'
to_addr = 'to-addr@blogger.com'
login_addr = 'login-addr@gmail.com'
passwd = 'passwd'

#sendGmailクラスのインスタンス作成
sg = sendGmail(encoding, subject, body,
     from_addr, to_addr, login_addr, passwd)
#送信
sg.sendMail()