微博热搜现如今成为大多数年轻人获取新闻的途径,随着各种官方机构入驻微博,年轻人更青睐于关于微博热搜获取没人新闻。本文小编就带领大家用python爬虫爬取微博热搜,大家可以跟着一起来实战联系。
第一步:导入爬虫常用的requests,用处是对中文进行url编码。
import re import time import requests # url编码和解码 from urllib import parse
第二步:设置url地址,模拟浏览器(这一步可以不用)防止被认出是爬虫程序。
###网址
url="https://s.weibo.com/top/summary?Refer=top_hot&topnav=1&wvr=6"
###模拟浏览器,这个请求头windows下都能用
header={'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36
(KHTML, like Gecko) Chrome/73.0.3683.103 Safari/537.36'}第三步:利用req uests库的get()和lxml的etr ee()来获 取网页代码
###获取html页面 html=etree.HTML(requests.get(url,headers=header).text)
第四步:定义函数,用来爬取某一条热搜,第二行是合成selector用的,后四行 if else 是用来对齐输出的
def oneHot(i):
findhot = '#pl_top_realtimehot > table > tbody > tr:nth-child('+str(i)+') > td.td-02 > a'
hot = r.html.find(str(findhot),first = True)
if(i<=10):
print(str(i-1)+' '+hot.text)
else:
print(str(i-1)+' '+hot.text)第五步:爬取热搜
for i in range(1,52): oneHot(i)
以上就是python爬虫爬取微博热搜的过程,相比较其他爬虫,爬取微博热搜算是比较简单的过程,大家可以拿来练练手哦~更多python爬虫推荐:python爬虫。



