微博热搜榜是以分钟来实现对话题的搜索,每分钟更新一次热搜,从中可以快速知道互联网上发生的各种新闻、话题等。本期,我们利用Python实现对微博热搜榜的爬取,也就是将上图中的所有内容爬取下来并保存到CSV文件中。
目标网站
https://s.weibo.com/top/summary
爬虫代码
import requests
import re
import bs4
import pandas as pd
#目标网址
url='https://s.weibo.com/top/summary'
res=requests.get(url)
response=bs4.BeautifulSoup(res.text)
#进行筛选保存操作
aa=response.select('tr>td>a')
num=response.select('tr>td>span')
#建立一个空的DataFrame
inidata=pd.DataFrame()
preurl='https://s.weibo.com'
for i,j in zip(aa[1:],num):
data=[[i.get_text(),preurl+i['href'],j.get_text()]]
inidata=inidata.append(data)
inidata.columns=('title','link','hot_number')
#将其保存成CSV文件
inidata.to_csv('weibo.csv',index=False)
最终效果
结
上面关于微博热搜榜爬虫的例子,自己下来动手试试吧?后续我们可以以此为开端做很多事情,比如将每日的微博热搜榜进行数据分析,爬取每个时间段的微博热搜数据,最终汇总成当天微博热搜的相关情况;对每周、每月微博热搜进行事件、人物分析等等,后续我们将继续关注这一方面。今天就到这里,Bye-Bye!