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()