python获取CSDN个人收藏的文章链接和标题,然后发送到指定邮件
来源:互联网 发布:乌鸦森林之谜 mac 编辑:程序博客网 时间:2024/04/19 14:12
后话:今天运行这个程序的时候无法运行了,看了页面之后,发现网页的一些属性改了,所以大家如果直接复制了,还得改改:2014-04-22
# -*- coding: utf-8 -*-
"""
Created on Mon Apr 14 14:25:06 2014
@author: lifeix
"""
from HTMLParser import HTMLParser
import urllib2
import urllib
import cookielib
import smtplib
from email.mime.text import MIMEText
class favorite(HTMLParser):
links = []
def __init__(self):
HTMLParser.__init__(self)
self.isFavList = False
self.temp = {}
self.isTime = False
self.isTitle = False
self.isLink = False
def handle_starttag(self,tag, attrs):
if tag == 'div':
for key, value in attrs:
if key == 'class' and value == 'fav_list':
self.isFavList = True
break
elif tag == 'span' and self.isFavList:
for key, value in attrs:
if key == 'class' and value == 'time':
self.isTime = True
break
elif key == 'class' and value == 'title':
self.isTitle = True
break
elif tag == 'a' and self.isTitle:
self.isLink = True
for key, value in attrs:
if key == 'href':
self.temp['href'] = value
break
def handle_endtag(self, tag):
pass
def handle_data(self,data):
if self.isTime:
self.temp['time'] = data
self.isTime = False
elif self.isLink:
self.temp['aValue'] = data
self.isTitle = False
self.isLink = False
favorite.links.append(self.temp);
self.temp = {}
@staticmethod
def sendEmail(flag):
if flag == False:
print favorite.links
return
#接收邮箱
mail_to="xxxx@xxx"
content = ""
for result in favorite.links:
content += "<a href='" + str(result['href']) + "'> " + str(result['aValue']) + "</a> " + result['time'] + "\n"
mail_host="smtp.163.com"
#发送邮箱
mail_user="xxxxx"
#发送邮箱密码
mail_pass="xxxxxx"
mail_postfix="163.com"
me=mail_user+"<"+mail_user+"@"+mail_postfix+">"
msg = MIMEText(content)
msg['Subject'] = "ceshi"
msg['From'] = me
msg['To'] = mail_to
try:
s = smtplib.SMTP()
s.connect(mail_host)
s.login(mail_user,mail_pass)
s.sendmail(me, mail_to, msg.as_string())
s.close()
print 'success'
except Exception, e:
print '2'
print str(e)
f = favorite()
cj = cookielib.LWPCookieJar()
cookie_support=urllib2.HTTPCookieProcessor(cj)
opener=urllib2.build_opener(cookie_support,urllib2.HTTPHandler)
urllib2.install_opener(opener)
headers = {'User-Agent' : 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:14.0) Gecko/20100101 Firefox/14.0.1',
'Referer' : ' http://my.csdn.net/my/favorite'}
#填写自己的u和p
loginUrl = 'http://passport.csdn.net/ajax/accounthandler.ashx?t=log&u=xxxxx&p=xxxxxx&remember=0&f=http%3A%2F%2Fmy.csdn.net%2Fmy%2Ffavorite&rand=0.07206512681810118'
req = urllib2.Request(loginUrl,headers=headers)
conn = urllib2.urlopen(req)
#通过urllib2提供的request方法来向指定Url发送我们构造的数据,并完成登录过程
request = urllib2.Request('http://my.csdn.net/my/favorite')
response = urllib2.urlopen(request)
text = response.read()
#print text
f.feed(text)
f.sendEmail(True)
- python获取CSDN个人收藏的文章链接和标题,然后发送到指定邮件
- Jsoup获取csdn文章链接和标题的方法
- PYTHON 获取csdn的博客文章标题和描述
- 【Java】获取指定HTML 文档指定的body、页中超链接的标题和链接、指定博客文章的内容
- python发送包含html、图片、附件和链接的邮件
- 【python】获取本机局域网IP并发送邮件到指定邮箱
- python实现获取天气信息后自动登录邮箱发送到指定邮件联系人
- scrapy抓取csdn中标题带有“语义”关键字的文章的标题和链接
- 发送带标题和内容的邮件
- 邮件的发送和获取
- python获取天气信息,给指定用户发送邮件
- Python爬虫自动获取CSDN博客收藏文章
- PYTHON发送邮件参考链接
- 使用python的pyquery模块解析csdn个人博客的标题和描述
- Python3爬取简书首页文章的标题和文章链接
- python:自动压缩指定文件夹作为附件发送邮件到指定邮箱
- 个人收藏的文章java
- 个人转载收藏的文章
- 二十一投诉热点符合结婚登记矮人一等同一天短途运输犹太人属于体贴说的话风度
- set autotrace & 统计信息涵义
- Win7下Eclipse中文字体太小
- sql分组后取第一条记录
- 图像配准概论
- python获取CSDN个人收藏的文章链接和标题,然后发送到指定邮件
- 在Android应用中使用自定义证书的HTTPS连接
- ONE源代码分析——core3之DTNHost类
- android的消息处理机制(图+源码分析)——Looper,Handler,Message
- SQL_实验1.5 清华大学出版社
- javascript
- 使用Thread、Runnable、Handler
- STL中vector自定义对象的排序、删除
- jquery设置元素的readonly和disabled