DDR爱好者之家 Design By 杰米
动态页面的模拟点击:
以斗鱼直播为例:http://www.douyu.com/directory/all
爬取每页的房间名、直播类型、主播名称、在线人数等数据,然后模拟点击下一页,继续爬取
代码如下
#!/usr/bin/python3
# -*- coding:utf-8 -*-
__author__ = 'mayi'
"""
动态页面的模拟点击:
模拟点击斗鱼直播:http://www.douyu.com/directory/all
爬取每页房间名、直播类型、主播名称、在线人数等数据,然后模拟点击下一页,继续爬取
"""
from selenium import webdriver
import json
# 调用环境变量指定的PhantomJS浏览器创建浏览器对象,executable_path:指定PhantomJS位置
driver = webdriver.PhantomJS(executable_path = r"D:\Program Files\phantomjs\bin\phantomjs")
from bs4 import BeautifulSoup
class DouyuSpider(object):
"""
爬虫类
"""
def __init__(self):
self.url = "http://www.douyu.com/directory/all/"
self.driver = webdriver.PhantomJS()
self.file_name = open("douyu.json", "w", encoding = "utf-8")
def run(self):
"""
爬虫开始工作
"""
self.driver.get(self.url)
# 循环处理每一页,直至最后一页
page = 1
start_flag = True
while True:
# 等待3秒,防止访问过于频繁
self.driver.implicitly_wait(3)
print("正在处理第" + page + "页......")
page += 1
# 解析
soup = BeautifulSoup(self.driver.page_source, "lxml")
# 在线直播部分
online_live = soup.find_all('ul', {'id': 'live-list-contentbox'})[0]
# 房间列表
live_list = online_live.find_all('li')
# 处理每一个房间
for live in live_list:
# 房间名、直播类型、主播名称、在线人数
# 房间名
home_name = live.find_all('h3', {'class': 'ellipsis'})[0].get_text().strip()
# 直播类型
live_type = live.find_all('span', {'class': 'tag ellipsis'})[0].get_text().strip()
# 主播名称
anchor_name = live.find_all('span', {'class': 'dy-name ellipsis fl'})[0].get_text().strip()
# 在线人数
online_num = live.find_all('span', {'class' :'dy-num fr'})[0].get_text().strip()
# print(home_name, live_type, anchor_name, online_num)
item = {}
item["房间名"] = home_name
item["直播类型"] = live_type
item["主播名称"] = anchor_name
item["在线人数"] = online_num
if start_flag:
start_flag = False
content = "[\n" + json.dumps(item)
else:
content = ",\n" + json.dumps(item)
self.file_name.write(content)
# page_source.find()未找到内容则返回-1
if self.driver.page_source.find('shark-pager-disable-next') != -1:
# 已到最后一页
break
# 模拟点击下一页
self.driver.find_element_by_class_name('shark-pager-next').click()
# 爬虫结束前关闭文件
self.file_name.write("\n]")
self.file_name.close()
if __name__ == '__main__':
douyu = DouyuSpider()
douyu.run()
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
DDR爱好者之家 Design By 杰米
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
DDR爱好者之家 Design By 杰米
暂无评论...
稳了!魔兽国服回归的3条重磅消息!官宣时间再确认!
昨天有一位朋友在大神群里分享,自己亚服账号被封号之后居然弹出了国服的封号信息对话框。
这里面让他访问的是一个国服的战网网址,com.cn和后面的zh都非常明白地表明这就是国服战网。
而他在复制这个网址并且进行登录之后,确实是网易的网址,也就是我们熟悉的停服之后国服发布的暴雪游戏产品运营到期开放退款的说明。这是一件比较奇怪的事情,因为以前都没有出现这样的情况,现在突然提示跳转到国服战网的网址,是不是说明了简体中文客户端已经开始进行更新了呢?
更新日志
2025年10月28日
2025年10月28日
- 小骆驼-《草原狼2(蓝光CD)》[原抓WAV+CUE]
- 群星《欢迎来到我身边 电影原声专辑》[320K/MP3][105.02MB]
- 群星《欢迎来到我身边 电影原声专辑》[FLAC/分轨][480.9MB]
- 雷婷《梦里蓝天HQⅡ》 2023头版限量编号低速原抓[WAV+CUE][463M]
- 群星《2024好听新歌42》AI调整音效【WAV分轨】
- 王思雨-《思念陪着鸿雁飞》WAV
- 王思雨《喜马拉雅HQ》头版限量编号[WAV+CUE]
- 李健《无时无刻》[WAV+CUE][590M]
- 陈奕迅《酝酿》[WAV分轨][502M]
- 卓依婷《化蝶》2CD[WAV+CUE][1.1G]
- 群星《吉他王(黑胶CD)》[WAV+CUE]
- 齐秦《穿乐(穿越)》[WAV+CUE]
- 发烧珍品《数位CD音响测试-动向效果(九)》【WAV+CUE】
- 邝美云《邝美云精装歌集》[DSF][1.6G]
- 吕方《爱一回伤一回》[WAV+CUE][454M]