吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1146|回复: 5
收起左侧

[已解决] python 自动发送邮件求助

[复制链接]
axwa 发表于 2021-4-15 09:57
本帖最后由 axwa 于 2021-4-19 08:16 编辑

python 自动发送邮件求助
发送的内容为网页内容的xpath提取内容

[Python] 纯文本查看 复制代码
import smtplib
from smtplib import SMTP_SSL
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.header import Header
from selenium import webdriver
from lxml import etree
from random import randint




class AutoPlay():
    def __init__(self) -> None:
        self.driver = webdriver.Chrome()
        self.url = 'http://www.baidu.com'

    def work(self):
        self.driver.get(self.url)
        page = self.driver.page_source
        e = etree.HTML(page)
        ycoo =e.xpath('//*[@id="s-top-left"]/a[1]/text()')
        print(ycoo)

    

if __name__ == '__main__':
    auto_play = AutoPlay()
    auto_play.work()
    auto_play.mail()

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

轻描淡写永恒 发表于 2021-4-15 10:19
第22行改为 self.ycoo =e.xpath('//*[@id="s-top-left"]/a[1]/text()')
第23行改为 print(self.ycoo)
第33行改为 mail_content = self.ycoo
总之就是mail()方法中的ycoo与work()方法中的ycoo不是一个 方法中的变量值是私有的
邮箱部分不懂 也没测试 希望可以帮到你
 楼主| axwa 发表于 2021-4-15 10:22
本帖最后由 axwa 于 2021-4-15 10:23 编辑
轻描淡写永恒 发表于 2021-4-15 10:19
第22行改为 self.ycoo =e.xpath('//*[@id="s-top-left"]/a[1]/text()')
第23行改为 print(self.ycoo)
第3 ...

试了的 不行的 ,谢谢  他提示
[Python] 纯文本查看 复制代码
['新闻']
Traceback (most recent call last):
  File "C:\Program Files\Python38-32\lib\email\message.py", line 356, in set_charset
    cte(self)
TypeError: 'str' object is not callable

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:/Users/Administrator/PycharmProjects/untitled/测试/自动发送消息1.0.py", line 68, in <module>
    auto_play.mail()
  File "C:/Users/Administrator/PycharmProjects/untitled/测试/自动发送消息1.0.py", line 55, in mail
    msg.attach(MIMEText(mail_content, 'plain', 'utf-8'))
  File "C:\Program Files\Python38-32\lib\email\mime\text.py", line 42, in __init__
    self.set_payload(_text, _charset)
  File "C:\Program Files\Python38-32\lib\email\message.py", line 321, in set_payload
    self.set_charset(charset)
  File "C:\Program Files\Python38-32\lib\email\message.py", line 364, in set_charset
    payload = payload.encode('ascii', 'surrogateescape')
AttributeError: 'list' object has no attribute 'encode'

Process finished with exit code 1
阿伟de大长腿 发表于 2021-4-15 10:40
axwa 发表于 2021-4-15 10:22
试了的 不行的 ,谢谢  他提示[mw_shl_code=python,true]['新闻']
Traceback (most recent call last):
...

23行    self.cont = ycoo[0]

33行    mail_content = self.cont



其余的就是把你自己的邮箱授权码放上去就行了
轻描淡写永恒 发表于 2021-4-15 10:48
四楼是对的 22行返回的是一个列表 39行需要传入的是字符串
 楼主| axwa 发表于 2021-4-15 10:56
阿伟de大长腿 发表于 2021-4-15 10:40
23行    self.cont = ycoo[0]

33行    mail_content = self.cont

好的   了解  谢谢了
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-26 05:51

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表