在斗鱼的界面中,如果滚动条没有拉下去,那么下面的图片都只是一条鱼的图片,所以要使浏览器自动拉动滚动条,可以用到python的selenium库,

1、配置浏览器

要使用selenium,还需要安装 chromedriver.exe,这里是使用Chrome浏览器,首先在https://npm.taobao.org/mirrors/chromedriver下这个网址中下载适合自己浏览器版本的chromedriver.exe,然后安装在Chrome浏览器的根目录下

2使用selenium库,获取斗鱼直播的整个页面

自动打开Chrome浏览器,然后进入斗鱼直播网页并使页面最大化,再实现自动拉动滚轮的方法来获取整个直播页面

在浏览器按F12进入检查模式,可以看到所有的主播页面都在class="layout-Cover-list"的ul标签下的li标签中,

所以可以这样来获取数据

3、获取图片链接和主播名字

找到图片所在的位置,在每个class ="DyImg-content is-normal " 的src标签中

名字在每个class =class="DyListCover-user" d的h2中

4、将得到的图片和名字保存到本地

因为得到的图片链接可能有些不必要的必要,所以用正则表达式,只匹配到有用的地方,再保存下来,

5、完整代码

import re

import requests

from selenium import webdriver

import time

# 1. 准备url

url = 'https://www.douyu.com/g_yz'

# 2. 获取element对象,Chrome后面是chromedriver.exe安装的根目录

driver = webdriver.Chrome('C:\Program Files (x86)\Google\Chrome\Application\chromedriver.exe')

driver.get(url)

time.sleep(1)

# 3.加载页面

# 页面最大化

driver.maximize_window()

# 拉动滚动条

for i in range(16):

time.sleep(1)

driver.execute_script("window.scrollBy(0, 500)")

# 4. 获取数据

lis = driver.find_elements_by_xpath('//ul[@class="layout-Cover-list"]/li')

# 5.发送请求保存图片

for li in lis:

url = li.find_element_by_xpath('.//img[@class="DyImg-content is-normal "]').get_attribute("src")

name = li.find_element_by_xpath('.//h2[@class="DyListCover-user"]').text

try:

url = re.match(".*\.jpg", url).group()

response = requests.get(url)

with open("./img/" + name + ".jpg", "wb") as f:

f.write(response.content)

except:

url = re.match(".*\.png", url).group()

response = requests.get(url)

with open("./img/" + name + ".png", "wb") as f:

f.write(response.content)

print(name)

print(url)

# 6.退出/下一页

driver.close()

结果图

python爬斗鱼直播房间名和主播名_斗鱼爬虫,爬取颜值频道的主播图片和名字相关推荐

  1. 使用seleniumphantomjs+bs4抓取斗鱼直播房间信息

    使用selenium&phantomjs+bs4抓取斗鱼直播房间信息 # -*- coding:utf-8 -*-from selenium import webdriver from bs4 ...

  2. 手机斗鱼tv显示与服务器通讯失败,热门手机知识:斗鱼直播加载失败如何解决?解决斗鱼直播加载失败操作步骤...

    手机这种移动通讯设备闲置已经相当的普及了,大多数的手机用户,对手机的相关知识都不了解.现在各种各样的数码设备在我们的生活当中几乎可以说是无处不在,平时我们使用的手机,IP,电脑等等这些都属于数码设备, ...

  3. 经典爬虫学习(四)-selsenium实现斗鱼直播房间信息爬取

    本案例中通过两种不同的selenium作用实现了对斗鱼直播平台的房间信息进行多页爬取. selenium实现信息爬取以及页面跳转功能 selenium实现页面跳转功能,lxml解析库实现数据爬取功能 ...

  4. 基于selenium的斗鱼直播房间详细信息自动化爬虫

    from selenium import webdriver import time #导入 ActionChains 类 from selenium.webdriver import ActionC ...

  5. python爬虫豆瓣电影评价_使用爬虫爬取豆瓣电影影评数据Python版

    在 使用爬虫爬取豆瓣电影影评数据Java版 一文中已详细讲解了爬虫的实现细节,本篇仅为展示Python版本爬虫实现,所以直接上代码 完整代码 爬虫主程序 # 爬虫启动入口 from C02.data ...

  6. sqlplus 主键 设置_浅谈MyBatis-Plus学习之Oracle的主键Sequence设置

    一.Oracle的主键Sequence设置简介 在Oracle数据库中不支持主键自增策略,它是通过Sequence序列来进行完成的,因此需要在MP中进行相关配置 二.相关配置如下 2.1.pom.xm ...

  7. python 使用selenium爬取斗鱼直播房间信息

    用到的模块 今天没课,开启正片 selenium 打开浏览器提取数据 time 每打开一个页面睡眠几秒,防止太快报错还有被发现 json 写入文件要用到 完整代码如下(为了减少代码就不使用类了) fr ...

  8. python爬虫爬取京东商品评价_网络爬虫-爬取京东商品评价数据

    前段时间做商品评价的语义分析,需要大量的电商数据,于是乎就自己动手爬取京东的数据.第一次接触爬虫是使用selenium爬取CNKI的摘要,基于惯性思维的我仍然想用selenium+Firefox的方法 ...

  9. python爬取妹子图片_利用爬虫爬取清纯妹子图片

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 from bs4 import BeautifulSoup import requests import time import os def get_h ...

最新文章

  1. jmeter导入已有的脚本_jmeter导入badboy录制的脚本
  2. .net core vs java_VS Code 1.19.3调试.net core 2并始终满足“只能调试64位进程”
  3. POJ 3267为什么优先队列超时,DP就能过,难过
  4. hdu4353 Finding Mine三角形内的点数
  5. cmd批量修改文件名 增加文字_Dynamo自动批量化修改文件名称
  6. 绝了!一个 rm -rf 把公司整个数据库删没了
  7. Jar运行的几个方法
  8. linux机器的物理内存监控,Linux内存监控工具
  9. Delphi中的字符串压缩与解压缩
  10. 【DevExpress】 SearchLookUpEdit
  11. Selenium学习笔记||三、BeautifulSoup
  12. 爬虫练习案例:交通路况
  13. python使用ffmpeg合并两个MP4视频
  14. ICPC 昆明 单挑打铁记
  15. vc 文字转换到机内码,输入汉字和数字, 输出一串16进制码(数字-〉ASII码,汉字—〉国标码)...
  16. 用Python 操作 Excel,这篇文章别错过了!(超全总结)
  17. 将一个实体类复制到另一个实体类
  18. Python学习规划
  19. Roxio MyDVD(DVD制作软件)v3.0.0.8中文版
  20. 百度新一轮干部轮岗:沈抖领军智能云,何俊杰负责移动生态

热门文章

  1. Excel中反转一列数据的几种方法
  2. 线程池 (通俗易懂)
  3. 测角误差估计算法matlab,Harris角点检测 及 Matlab实验
  4. 关于Error during artifact deployment. See server log for details.问题
  5. 三星ARM Cortex-A8 S5PV210(蜂鸟)简介
  6. Linux查看文件内容的方法
  7. LA 4043 Ants
  8. 【正点原子FPGA连载】第十二章呼吸灯实验 -摘自【正点原子】新起点之FPGA开发指南_V2.1
  9. 鹰迪电商:抖音pk分数怎么看不见?
  10. 图片太大不要慌,简单的调整图片大小