300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > python 广告牌_Python从百度搜索广告牌抓取新闻并自动推送到电子邮件中 爬取 风云榜 邮箱...

python 广告牌_Python从百度搜索广告牌抓取新闻并自动推送到电子邮件中 爬取 风云榜 邮箱...

时间:2020-10-09 12:35:43

相关推荐

python 广告牌_Python从百度搜索广告牌抓取新闻并自动推送到电子邮件中 爬取 风云榜 邮箱...

本文将使用Python爬取百度新闻搜索指数排名前50的新闻,并通过服务器运行,每天定时发送到指定邮箱。

先上代码:

# -*- coding:utf-8 -*-

import requests,os,re,email,smtplib

EMAIL_ADDRESS='****@'

EMAIL_PASSWORD='***'

s=smtplib.SMTP(host='',port=587)

s.starttls()

s.login(EMAIL_ADDRESS,EMAIL_PASSWORD)

print('Connected~')

url='/buzz?b=341&c=513&fr=topbuzz_b1'

r=requests.get(url)

txt=r.content.decode('GBK')

pt=pile('href_top=".*?">(.*?)

title=re.findall(pt,txt)

pt1=pile('href="(.*?)" href_top')

urls=re.findall(pt1,txt)

#print(len(urls))

pt2=pile('icon-....">(.*?)

rise=re.findall(pt2,txt)

#print(title,rise,urls)

i=50

mss=''

for x in range(i):

ma=(str(x+1),title[x],rise[x],urls[x])

ms=', '.join(ma)

mss+=(ms+'\n')

msgs=mss

msg=email.message_from_string(msgs)

msg['From']=EMAIL_ADDRESS

msg['To']=EMAIL_ADDRESS # add who need receive the eamil

s.sendmail(EMAIL_ADDRESS,EMAIL_PASSWORD,msg.as_string())

s.quit()

print('Your data sent to %s',EMAIL_ADDRESS)

主要使用了requests,smtplib, re,email模块,只需要30几行代码就可以实现。

接下来我说下怎么在服务器上设置:

crontab -e这个命令可以搜索了解下怎么使用的,

在我们服务器下面输入这个命令 crontab -e

* * * * * program

进入编辑模式按 i 键

30 07* * * /usr/local/bin/python3 /usr/temp/baidu.py 每天早上7:30分运行一次

然后:wq 保存,就可以执行了。另外需要注意的是一定要写成绝对路径,这样保证程序能运行。

最后上一张截图

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。