html5 手机网站开发,网络营销的优势有哪些,做外贸一般看什么网站,ps做网站画布大小是多少微博的热搜榜对于研究大众的流量有非常大的价值。今天的教程就来说说如何爬取微博的热搜榜。 热搜榜的链接是#xff1a;用浏览器浏览#xff0c;发现在不登录的情况下也可以正常查看#xff0c;那就简单多了。使用开发者工具(F12)查看页面逻辑#xff0c;并拿到每条热搜的…微博的热搜榜对于研究大众的流量有非常大的价值。今天的教程就来说说如何爬取微博的热搜榜。 热搜榜的链接是用浏览器浏览发现在不登录的情况下也可以正常查看那就简单多了。使用开发者工具(F12)查看页面逻辑并拿到每条热搜的CSS位置方法如下按照这个方法拿到这个td标签的selector是pl_top_realtimehot table tbody tr:nth-child(3) td.td-02 其中nth-child(3)指的是第三个tr标签因为这条热搜是在第三名的位置上但是我们要爬的是所有热搜因此:nth-child(3)可以去掉。还要注意的是 pl_top_realtimehot 是该标签的idid前需要加#号最后变成 #pl_top_realtimehot table tbody tr td.td-02你可以自定义你想要爬的信息这里我需要的信息是热搜的链接及标题、热搜的热度。它们分别对应的CSS选择器是链接及标题#pl_top_realtimehot table tbody tr td.td-02 a热度#pl_top_realtimehot table tbody tr td.td-02 span值得注意的是链接及标题是在同一个地方链接在a标签的href属性里标题在a的文本中用beautifulsoup有办法可以都拿到请看后文代码。现在这些信息的位置我们都知道了接下来可以开始编写程序。默认你已经安装好了python并能使用cmd的pip如果没有的话请见这篇教程python安装。需要用到的python的包有BeautifulSoup4:cmd/Terminal 安装指令pip install beautifulsoup4lxml解析器cmd/Terminal 安装指令pip install lxmllxml是python中的一个包这个包中包含了将html文本转成xml对象的工具可以让我们定位标签的位置。而能用来识别xml对象中这些标签的位置的包就是 Beautifulsoup4.编写代码# https://s.weibo.com/top/summary/import requestsfrom bs4 import BeautifulSoupif __name__ __main__:news []# 新建数组存放热搜榜hot_url https://s.weibo.com/top/summary/# 热搜榜链接r requests.get(hot_url)# 向链接发送get请求获得页面soup BeautifulSoup(r.text, lxml)# 解析页面urls_titles soup.select(#pl_top_realtimehot table tbody tr td.td-02 a)hotness soup.select(#pl_top_realtimehot table tbody tr td.td-02 span)for i in range(len(urls_titles)-1):hot_news {}# 将信息保存到字典中hot_news[title] urls_titles[i1].get_text()# get_text()获得a标签的文本hot_news[url] https://s.weibo.comurls_titles[i][href]# [href]获得a标签的链接并补全前缀hot_news[hotness] hotness[i].get_text()# 获得热度文本news.append(hot_news)# 字典追加到数组中print(news)代码说明请看注释不过这样做我们仅仅是将结果保存到数组中如下所示其实不易观看我们下面将其保存为csv文件。Python 热搜榜爬虫import datetimetoday datetime.date.today()f open(./热搜榜-%s.csv%(today), w, encodingutf-8)for i in news:f.write(i[title] , i[url] , i[hotness] n)效果如下怎么样是不是好看很多Python 微博热搜榜爬虫完整代码如下# https://s.weibo.com/top/summary/import requestsfrom bs4 import BeautifulSoupif __name__ __main__:news []# 新建数组存放热搜榜hot_url https://s.weibo.com/top/summary/# 热搜榜链接r requests.get(hot_url)# 向链接发送get请求获得页面soup BeautifulSoup(r.text, lxml)# 解析页面urls_titles soup.select(#pl_top_realtimehot table tbody tr td.td-02 a)hotness soup.select(#pl_top_realtimehot table tbody tr td.td-02 span)for i in range(len(urls_titles)-1):hot_news {}# 将信息保存到字典中hot_news[title] urls_titles[i1].get_text()# get_text()获得a标签的文本hot_news[url] https://s.weibo.comurls_titles[i][href]# [href]获得a标签的链接并补全前缀hot_news[hotness] hotness[i].get_text()# 获得热度文本news.append(hot_news)# 字典追加到数组中print(news)import datetimetoday datetime.date.today()f open(./热搜榜-%s.csv%(today), w, encodingutf-8)for i in news:f.write(i[title] , i[url] , i[hotness] n)Python实用宝典 (pythondict.com)不只是一个宝典欢迎关注公众号Python实用宝典原文来自Python实用宝典Python 微博热搜