40行代码的Python爬虫案例:虎牙-王者荣耀主播的人气排行
爬虫:对网页(HTML文件)进行文本分析,提取所需要的数据,通常使用正则表达式来处理数据.
运行结果:
1.明确爬虫目的:从虎牙直播平台爬取各个王者荣耀主播的人气数,并按照排名显示各个主播的名字,观看人数和主播间名字.
2.找到数据对应的网页,并分析网页的结构找到数据所在的标签,抓取数据
源码:
import re # 引入正则表达式的re模块
from urllib import request # 引入网络访问模块urllib的request对象
data = '<li class="game-live-item" gid="2336">[\s\S]*?</span>\s*</span>' # 爬取主播数据:把每个主播的名字、热度、直播间标题作为一组数据进行爬取
name_data = '<i class="nick" title="([\s\S]*?)">' # 主播名字 #()的作用:不显示小括号外相同的标签
number_data = '<i class="js-num">([\s\S]*?)</i>'# 主播热度,即观看人数
title_data = 'target="_blank">([\s\S]*?)</a>' # 直播间标题 #用到的正则表达式#*:零次或多次#?:非贪婪匹配#\s:空白字符#\S:非空白字符
def fetch_content(): #定义一个抓取函数fetch_content(),返回html文件
htmls = str(request.urlopen('https://www.huya.com/g/2336').read(