1
下面的代码是从ESPN/college-football中提取头条新闻。我可以抓住文章的标题和链接。我可以打印这两个,但我也想给他们发电子邮件。我可以获得电子邮件的标题,但不能获得href属性。任何想法发生了什么?Python:试图发送电子邮件href
from urllib import urlopen
from BeautifulSoup import BeautifulSoup
import smtplib
# Copy all of the content from the provided web page
webpage = urlopen('http://espn.go.com/college-football').read()
soup = BeautifulSoup(webpage)
# to get the contents of <ul> tags w/ attribute class="headlines":
for i in soup.findAll('ul', {'class': 'headlines'}):
for tag in i.findAll('li'):
for a in tag.findAll({'a' : True, 'title' : False}):
print a.text
print a['href']
print "\n"
url = str(a.get('href'))
fromaddr = '[email protected]'
toaddrs = '[email protected]'
# Credentials (if needed)
username = 'username'
password = 'password'
# The actual mail send
server = smtplib.SMTP('smtp.gmail.com', 587)
server.set_debuglevel(1)
server.ehlo()
server.starttls()
server.login(username,password)
server.sendmail(fromaddr, toaddrs, url)
server.quit()
Eclipse中的控制台显示:
reply: '235 2.7.0 Accepted\r\n'
reply: retcode (235); Msg: 2.7.0 Accepted
send: 'mail FROM:<person> size=106\r\n'
reply: '250 2.1.0 OK a9sm22683966anb.6\r\n'
reply: retcode (250); Msg: 2.1.0 OK a9sm22683966anb.6
send: 'rcpt TO:<emailHere>\r\n'
reply: '250 2.1.5 OK a9sm22683966anb.6\r\n'
reply: retcode (250); Msg: 2.1.5 OK a9sm22683966anb.6
send: 'data\r\n'
reply: '354 Go ahead a9sm22683966anb.6\r\n'
reply: retcode (354); Msg: Go ahead a9sm22683966anb.6
data: (354, 'Go ahead a9sm22683966anb.6')
send: 'http://espn.go.com/college-sports/story/_/id/8878732/lawyer-ncaa-miami- hurricanes-investigation-says-patsy\r\n.\r\n'
reply: '250 2.0.0 OK 1359087354 a9sm22683966anb.6\r\n'
reply: retcode (250); Msg: 2.0.0 OK 1359087354 a9sm22683966anb.6
data: (250, '2.0.0 OK 1359087354 a9sm22683966anb.6')
send: 'quit\r\n'
reply: '221 2.0.0 closing connection a9sm22683966anb.6\r\n'
reply: retcode (221); Msg: 2.0.0 closing connection a9sm22683966anb.6
,但它从来没有遇到的电子邮件。
工作就像一个魅力。谢谢J.F! –