【python热搜爬虫+定时发送邮件操作①】不会吧不会吧!不会2020了还有人需要用软件看微博热搜吧?

以下内容为本人原创,欢迎大家观看学习,禁止用于商业用途,转载请说明出处,谢谢合作!
·作者:@Yhen
·原文网站:CSDN
·原文链接:https://blog.csdn.net/Yhen1/article/details/107202187

转载请说明此出处,侵权必究!谢谢合作!

  本期项目----爬取新浪微博热搜榜数据并通过邮件定时自动发送到邮箱

一.最终效果展示

在这里插入图片描述

不错吧~以后每天一睡醒,打开微信查看今天的邮件就可以知道今天的热搜信息了,哪还要打开软件这么麻烦呀,美滋滋 ~

  这篇文章主要介绍的是第一步——热搜数据的爬取

话不多说,马上起飞

二.前期准备

首先介绍一下这篇文章所需要用到的一些库以及在这篇文章中的用法

requests      经典爬虫库

pyquery      页面数据的定位解析

datetime     获取当今日期

大家安装的时候只需要在终端输入 pip install +对应的库名即可。如(pip install requests)

okk,准备好以后,就开始分析一波吧

三.思路分析

①首先明确我们的需求是爬取热搜榜单的数据

在这里插入图片描述
喏,就是上面这些,我们要把他们爬取下来。

URL地址:https://s.weibo.com/top/summary

②然后按下F12盘一波
在这里插入图片描述

③当我们定位页面到第一条数据的时候

代码跳转到了类选择器为“td-02”的td标签

而在其下级有个超链接标签

里面即有我们想要的热搜内容以及其对应的链接。

所以想必大家思路已经很明确的吧!

通过requests对页面进行请求------>通过pyquery解析数据,提取热搜文字以及链接----->保存为txt文件----->点赞收藏加关注!

哈哈哈哈哈既然思路明确了,那就放码过来吧!

四.项目实战

首先将今天要用到的包导入

import requests
from pyquery import PyQuery as pq
import datetime

然后对微博网页发送请求,获取其文本数据

 # 微博热搜网址
    url = 'https://s.weibo.com/top/summary'
    # 请求微博热搜网址 获取其文本数据
    res = requests.get(url).text

我们来看看效果
在这里插入图片描述
是可以成功获取到数据的!

接下来用pyquery来解析数据
刚刚我们说到,我们想要的数据在类选择器为td-02下的a标签里

# 数据初始化
    doc = pq(res)
    # 通过类选择器提取热搜信息
    td = doc('.td-02 a').items()

而链接就在这个a标签下的herf属性中,文字也可以直接提取
在这里插入图片描述
然后我们遍历得到的数据
将链接和文字提取出来
并拼接在一起

# 遍历数据
    for x in td:
        # 获取热搜文字
        title = x.text()
        # 获取热搜链接 并拼接成完整链接
        href = 'https://s.weibo.com' + x.attr('href')
        # 将文字和链接合并在一个content变量中
        content = title + '\n' + href + '\n\n'

我们来看看效果
在这里插入图片描述

成功获取到了内容

接下来就是把这些内容保存到本地啦

因为每天的热搜都不一样,所以文件的名字当然要用当天的日期命名啦

所以我们可以通过以下的代码获取到今天的日期

date = datetime.datetime.now().strftime('%Y-%m-%d')

最后再保存到本地就ok啦

# 将文件保存以日期命名的txt文件 以追加的方式写入 编码为utf-8
f = open(date + '.txt', 'a', encoding='utf-8')
# 将热搜内容写入
f.write(content)
# 关闭写入
f.close()

最后实现的效果是这样的
在这里插入图片描述

在这里插入图片描述

OK~至此,我们这个项目的第一步微博爬虫部分已经完成啦!

下一篇文章已更新:
【python微博爬虫+定时发送邮件操作②】不会吧不会吧!不会2020了还有人需要用软件看微博热搜吧?

大家如果觉得我写的还可以的话,

可以点个赞鼓励下小弟嘛,点个关注就更好啦!

你们的支持是我创作的最大动力!
谢谢大家!

五.源码分享

扫码关注我的微信公众号Yhen杂文铺后台回复关键词微博爬虫即可获取哦.
在这里插入图片描述

六.往期文章回顾

Yhen带你趣味入门Python①—Windows下Python下载及安装

【python微博爬虫+定时发送邮件操作②】不会吧不会吧!不会2020了还有人需要用软件看微博热搜吧?

【爬虫+数据可视化】Yhen手把手带你爬取CSDN博客访问量数据并绘制成柱状图

【爬虫】Yhen手把手带你爬取去哪儿网热门旅游信息(并打包成旅游信息查询小工具

【实用小技巧】用python自动判断并删除目录下的空文件夹(超优雅)

【爬虫+数据库操作】Yhen手把手带你用pandas将爬取的股票信息存入数据库!

【selenium爬虫】
Yhen手把手带你用selenium自动化爬虫爬取海贼王动漫图片

【爬虫】秀才不出门,天下事尽知。你也能做到!Yhen手把手带你打造每日新闻资讯速达小工具。

【爬虫】Yhen手把手带你用python爬取知乎大佬热门文章

【爬虫】Yhen手把手教你爬取表情包,让你成为斗图界最靓的仔

【前端】学过一天的HTML+CSS后,能做出什么有趣的项目?

  希望大家能够喜欢这篇文章
  如果可以的话,可以点个赞鼓励下嘛?加个关注更好呦!
  我是Yhen,下次见~

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值