当前位置:首页 > 网络安全 > 正文内容

如何设置微博的推荐变成视频,微博视频自动播放开启

访客3年前 (2022-02-07)网络安全433

  最近微博上一个接一个的瓜,本文将介绍如何用 Python 自动抓取微博热搜,并定时发送到QQ邮箱.主要分为三个部分:

  

  

  *爬行微博热搜。

  

  

  *整理数据和发送电子邮件。

  

  

  *定期执行。

  

  

  # 1.抓取热搜数据。

  

  

  进入https://s.weibo.com/top/summary,某微博热搜榜后,整体页面如下:

  

  

  

  

  

  我们可以看到我们需要的热搜列表信息在页面中央(共50个热搜),这里需要抓取的信息包括热搜标题、话题搜索量、话题索引。按F12进入网页源代码页面,点击元素阅读如下:

  

  

  

  

  

  选择鼠标选项,然后单击要爬网的信息,以查看相应的html源代码。我们在这里抓取的内容分为三个部分:标题、数量、索引和网站,从网页的源代码中可以找到以下规则:

  

  

  信息法律标题标题号索引。

  

  

  Class='td-03 '索引索引1(。*?)连接

  

  

  Target='_blank' title。

  

  

  注意:这里之所以有index和index 1源代码,是因为前者得到的数据是有噪声的,所以需要再次使用index 1才能得到最终的信息。

  

  

  之后,我们使用requests包对网页的源代码进行抓取,并通过re模块定期提取抓取的内容,因为一天只执行一次,所以不需要考虑请求头。Python代码如下:

  

  

  import request import re URL=' https://s . Weibo.com/top/summary?Cate=realtimehot' # Weibo网站ret=requests . get(URL)test=ret . textu _ href='。*?u_title='(。*?)' u_amount='(。*?)' u_category='(。*?)“u_href=”。*?title=re.findall(u_title,test)金额=re.findall(u_amount,test)类别=re.findall(u_category,test)href=re.findall(u_href,test)

  

  

  # 2.数据清理。

  

  

  以上四个索引,标题、金额、类别、href,是未处理的主题、主题搜索量、主题索引、主题连接。接下来,我们先处理它并编码。

  

  

  将熊猫导入为pdf title=title[:-2]title=title[1:]href=href[:-2]href=href[1:]代表范围内的j(len(href)): href[j]=' https://s . Weibo.com/' href[j]同时代表范围内的I(len(类别)):如果类别[='':类别[i]=re.findall((。*?)',类别[I]) [0]如果类别[I]==' :类别[I]='空'类别=类别[1:]同时在类别:类别中'推荐'删除('推荐')。Df=pd。data frame()df[' keywords ']=title df[' amount ']=amount df[' category ']=category ydf[' href ']=href df=df . sort _ values(' amount ')。Df2=df[df['类别']=='爆炸']df3=df[df['类别']=='沸腾']df4=df[df['类别']='热']df5=。

  

df[df['category'] == '新']df6 = df[df['category'] == '空']df = pd.concat([df2,df3,df4,df5,df6],ignore_index = True)df.to_csv('微博热搜.csv',encoding = 'gbk')#输出为csv文本格式

  

下面对title进行处理,第一节爬取到的title是这样的,

  

  

总共只有50条热搜,怎么多出来3条?可以看到最后的两条是不需要的,所以用列表提取的方法提取前50行。还有一个元素多出来?就是我们的第一个元素,即是title[0],title[0]是没有序号与热搜搜索量的,如图:

  

  

“天问一号成功着陆”这一话题有指数无搜索量,是属于缺失数据,这里我们删除它,同样用到列表提取元素方法。

  

对href连接的处理与title的处理相同。

  

接着对搜索量做处理,采用了删除空格的语句。原因是热搜榜中会出现推荐的话题,而推荐的话题是没有搜索量的,故我们删除它。

  

最后轮到指数处理,先看未处理前的指数,

  

  

上面显而易见我们要提取的指数信息就在每个元素里面,同样利用re模块正则提取,提取出来后做三件事:

  

* 去除第一个元素(原因已在title处理上讲解)

  

* 空字符串部分以中文空子代替

  

* 去除推荐的话题

  

上面三步的代码已附上。代码里最后的步骤就是运用pandas模块对数据进行整理得到美观的数据框形式。效果如下:

  

  

# 三、发邮箱与设置定时

  

用Python可以模拟许多大厂的邮箱发送,本文选择常用的腾讯QQ邮箱。在此之前需要做一个准备(获取SMTP授权码):

  

登录QQ邮箱并单击设置按钮,然后进入账户这个页面

  

  

进入之后向下拖动来到POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务这栏,这里单击POP3/SMTP服务右侧的开启,单击后会有一个验证密保的过程,按照提示即可。最终会弹出一个框,里面包含

  

SMTP授权码 ,这里可以找个地方记录起来,Python代码就可以用到。

  

先上发送QQ邮箱的代码模板:

  

import smtplibfrom email.mime.text import MIMETextfrom email.mime.multipart import MIMEMultipartnumber = '你的QQ邮箱号码'smtp = '邮箱对应的STMP授权码'to = '需要发送到的QQ邮箱号码' # 可以是非QQ的邮箱mer = MIMEMultipart()# 设置邮件正文内容head = '''

微博热搜榜信息

最热门词条为

{}

排名前五的热搜

{}

{}

{}

{}

{}

'''.format(df.iloc[0,:]['href'],df.iloc[0,:]['关键词'], df.iloc[1,:]['href'],df.iloc[1,:]['关键词'], df.iloc[2,:]['href'],df.iloc[2,:]['关键词'], df.iloc[3,:]['href'],df.iloc[3,:]['关键词'], df.iloc[4,:]['href'],df.iloc[4,:]['关键词'], df.iloc[5,:]['href'],df.iloc[5,:]['关键词'])mer.attach(MIMEText(head, 'html', 'utf-8'))fujian = MIMEText(open('微博热搜.csv', 'rb').read(), 'base64', 'utf-8')fujian["Content-Type"] = 'application/octet-stream' #附件内容fujian.add_header('Content-Disposition', 'file', filename=('utf-8', '', '微博热搜.csv')) mer.attach(fujian)mer['Subject'] = '每日微博热搜榜单' #邮件主题mer['From'] = number #发送人mer['To'] = to #接收人# 5.发送邮件s = smtplib.SMTP_SSL('smtp.qq.com', 465)s.login(number, smtp)s.send_message(mer) # 发送邮件s.quit()print('成功发送')

  

代码框架基本如此,你需要更改的地方有如下,其余的内容可以不改:

  

* 邮件主题

  

* 发送人

  

* 接收人

  

* SMTP授权码

  

* 附件内容

  

运行成功后,输出框会有“成功发送”打印,如果你的微信绑定了你的发送QQ邮箱,那么你就可以点击其中的附件,也就是csv文件。

  

  

按照我们设置的格式,把最热门的词条和排名前五的词条放入head正文内容中,效果如下:

  

  

(这里存在延时,所以热搜榜和上面不一)

  

最后就是设置定时执行这个代码也即是发送微博热搜榜信息,利用Schedule库可以实现。

  

schedule模块设置定时的模板只需改2个地方,一个是schedule.every().day.at("18:00").do(email)中的时间,一个是def函数里面运行的内容。While

  

True的作用就是让程序不停止。

  

我们定每晚6点进行自动发送,代码如下:

  

import scheduleimport timedef email(): number = '你的QQ邮箱号码' smtp = '邮箱对应的STMP授权码' to = '需要发送到的QQ邮箱号码' # 可以是非QQ的邮箱 mer = MIMEMultipart() # 设置邮件正文内容 head = '''

微博热搜榜信息

最热门词条为

{}

排名前五的热搜

{}

{}

{}

{}

{}

'''.format(df.iloc[0,:]['href'],df.iloc[0,:]['关键词'], df.iloc[1,:]['href'],df.iloc[1,:]['关键词'], df.iloc[2,:]['href'],df.iloc[2,:]['关键词'], df.iloc[3,:]['href'],df.iloc[3,:]['关键词'], df.iloc[4,:]['href'],df.iloc[4,:]['关键词'], df.iloc[5,:]['href'],df.iloc[5,:]['关键词']) mer.attach(MIMEText(head, 'html', 'utf-8')) fujian = MIMEText(open('微博热搜.csv', 'rb').read(), 'base64', 'utf-8') fujian["Content-Type"] = 'application/octet-stream' #附件内容 fujian.add_header('Content-Disposition', 'file', filename=('utf-8', '', '微博热搜.csv')) mer.attach(fujian) mer['Subject'] = '每日微博热搜榜单' #邮件主题 mer['From'] = number #发送人 mer['To'] = to #接收人 # 5.发送邮件 s = smtplib.SMTP_SSL('smtp.qq.com', 465) s.login(number, smtp) s.send_message(mer) # 发送邮件 s.quit() print('成功发送') schedule.every().day.at("18:00").do(email)while True: schedule.run_pending() time.sleep(5)

  

这样,我们就完成了利用 Python 自动爬取微博热搜,并在每天指定时间自动发送整理后的结果至邮箱。当然你也可以自已更改逻辑,例如

  

当出现指定关键词、指定tag时发送邮箱,感兴趣的读者可以关注

扫描二维码推送至手机访问。

版权声明:本文由黑客接单发布,如需转载请注明出处。

本文链接:https://therlest.com/12485.html

分享给朋友:

“如何设置微博的推荐变成视频,微博视频自动播放开启” 的相关文章

黑客追款出款成功再收费「24小时在线的黑客追款」

据公务员期刊网2021年10月14日18:37:49的最新发布,微博网友@ 爆料。 平安夜来临之际,事件,在网上炒得沸沸扬扬,引发全网热议! 据悉,黑客追款出款成功再收费。可能没有机会接触到钱。那时候我就有想过退步。 一、黑客追回网赌40万 首先确保整个无前期费用黑客追款方案是最有效的,在做一件黑客...

创业板投资风险揭示书,创业板风险揭示书

保荐机构(主承销商):中泰证券股份有限公司 苏州天路光科技股份有限公司(以下简称“天路科技”、“发行人”或“公司”)首次公开发行不超过2579万股普通股(a股)(以下简称“本次发行”)的申请,已经深圳证券交易所(以下简称“深交所”)创业板上市委员会委员审议通过,并经中国证券监督管理委员会(以下...

【紧急+重要】勒索病毒解决方案!附:MS17-010补丁下载

  滚动更新:2017年5月13日16:57:22   游侠安全网(良心网站,站长先贴上注意事项和解决方法!防止你看本文的时候就被加密了!   1、本次共计是自动化攻击,利用了Windows的MS17-010。但苹果的MacOS用户不用得意,因为在昨晚之前,我这里得到的好几起勒索攻击案例都是针对...

干洗对衣物有害吗

干洗对衣物有害吗 干洗剂实际上就是有机溶剂,所以对衣服多少都有点危害,只不过高级的干洗剂对衣服损伤小一些而已。 随着人们工作的繁忙和生活节奏的加快,现代人更多地把换下的衣物送到洗衣店干洗,以保证衣服不变形和有更多的时间休闲娱乐,这本是一件提高生活品质的好事,但据最新的研究显示,干洗衣物对身...

尚村最新水貂皮毛价格,丹麦貂皮衣大概多少钱

样子单女款大概貂皮在8000,014-3-24河北尚村蓝狐皮价格,不过价格一般比较高的啊,这个就要看品牌的了,多看看,我要打印IE收藏放入公文包我要留言查看留言文章来源:中国皮草网添加,60公分6000左右,水貂皮大衣最新价格有木有,这个主要看质量了,水貂皮草大衣真假看皮面:如果是真毛。 元/张,5...

Webshell安全检测篇(1)-根据流量的检测方法

一、概述 笔者一直在重视webshell的安全剖析,最近就这段时刻的心得体会和咱们做个共享。 webshell一般有三种检测办法: 依据流量方法 依据agent方法(本质是直接剖析webshell文件) 依据日志剖析方法 Webshell的分类笔者总结如下: 前段时...

评论列表

离鸢海夕
2年前 (2022-06-08)

): number = '你的QQ邮箱号码' smtp = '邮箱对应的STMP授权码' to = '需要发送到的QQ邮箱号码' # 可以是非QQ的邮箱 mer = MIMEMultipart() # 设置邮

舔夺锦欢
2年前 (2022-06-08)

o.com/top/summary?Cate=realtimehot' # Weibo网站ret=requests . get(URL)test=ret . textu _ href='。*?u_title='(。*?)' u_amount='(。*?)'

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。