欢迎来到Python教程自学网!
当前位置: 首页 > Python爬虫 > python爬虫如何爬取微博热搜

python爬虫如何爬取微博热搜

   

python爬虫如何爬取微博热搜

本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。

第一步:导入爬虫常用的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爬虫爬取微博热搜的过程,相比较其他爬虫,爬取微博热搜算是比较简单的过程,大家可以拿来练练手哦~