为了关注某位主播热度的变化情况,特敲下以下代码。
本次程序导入了requests模块、time模块、lxml模块、matplotlib模块。
代码思维是:
- 根据输入的分区名称(area),向斗鱼(https://www.douyu.com/directory/all)发送请求获取响应,用xpath截取分区对应的链接;
- 向获取的新链接发送请求获取响应,用xpa替换截取对应主播的热度数据并用列表记录下来;
- 根据输入的间隔时间(interval,建议为60s)对步骤2进行循环,当主播下播时,则停止循环;
- 根据记录下来的数据,使用matplotlib绘制折线图,并保存图片;
- 主播下播后每隔一小时向网页发送请求,直到主播上播,继续循环2、3、4步骤。
代码如下,欢迎学习交流:
# coding=utf-8
import requests
import time
from lxml import etree
from matplotlib import font_manager
from matplotlib import pyplot as plt
from math import ceil
class Douyu_Spider:
def __init__(self, area, name, interval):