本期用到json,requests库来爬取网页信息,这次爬的是一个特殊多页式网站,普通多页式网站只需分析不同页面的url,找出其中的不同点,用for in来循环即可,但是斗鱼的https://www.douyu.com/directory/game/LOL中不同页面都是相同的url,这就需要去“F12”来寻找其中的区别。

工具.环境:Python3.6.5,Pycharm,windows10,Firefox

douyuTV

1.首先来寻找不同页面的区别

以斗鱼的LOL板块为例:https://www.douyu.com/directory/game/LOL

尝试切换不同页面都是相同的url,那怎么办呢??????????

按F12呼出开发者工具(在这推荐使用Firefox或chrome浏览器,我用的是Firefox)

开发者工具

要详细学习开发者工具的请自行百度,这里直接选择网络,会看到很多数据,数据发送方法分两种,为“post”and“get”。再选择XHR,点击左上角的删除键,再重新载入网页,就会看到电脑又向服务器发送了多个请求。

网络-XHR

再重复多换几个页面,发现每次换的页码都与其中一个请求名相同

发现不同

点击该条信息,在右边显示该条信息的消息头,有一个请求网址https://www.douyu.com/gapi/rkc/directory/2_1/3,把它复制下来,发现末尾的3就是对应的页数。 OK 第一步结束!

2.get页面信息

JSON

发现里面有我想要爬取的斗鱼房间信息,那么就是它了,接下来要对它进行解剖。

(1)运用requests来get该网页的信息

import requests

import json

urls = ['https://www.douyu.com/gapi/rkc/directory/2_1/{}'.format(page) for page in range(1, 5)]

for url in urls:

res = requests.get(url)

print(res.text) # 可以想先看看get到的是个什么东西

这里运用for in循环来get到1-5页的网页信息for page in range(1, 5),具体见上面代码

(2)运用json库来将已编码的 JSON 字符串解码为 Python 对象

import requests

import json

urls = ['https://www.douyu.com/gapi/rkc/directory/2_1/{}'.format(page) for page in range(1, 5)]

for url in urls:

res = requests.get(url)

j = json.loads(res.text)

print(j) # 可以看到已解码的对象

json.dumps:将 Python 对象编码成 JSON 字符串

json.loads:将已编码的 JSON 字符串解码为 Python 对象

3.处理对象数据

对象数据

看到了一堆糊糊,这时Firefox的优势就体现出来了

json

可以看到各层的所属关系,便于接下来的提取数据,下面是完整代码:

import requests

import json

urls = ['https://www.douyu.com/gapi/rkc/directory/2_1/{}'.format(page) for page in range(1, 5)]

for url in urls:

res = requests.get(url)

j = json.loads(res.text)

l1 = j['data'] # 通过观察可以发现要的数据在data下

l2 = l1['rl'] #在观察发现在data的rl中

tplt = '{0:{4}<20}\t{1:<12}\t{2:{4}<25}\t{3:<12}'

print(tplt.format('主播', '房间号', '房间名', '热度', chr(12288)))

for i in range(len(l2)): # 这里用到for循环来处理一个列表下多个字典的数据

Anchor = l2[i]['nn'] # 获取主播名字

RoomNumber = l2[i]['rid'] # 获取房间号

Heat = l2[i]['ol'] # 获取热度

RoomName = l2[i]['rn'] # 获取房间名

print(tplt.format(Anchor, RoomNumber, RoomName, Heat, chr(12288)))

4.结果

运行程序

斗鱼LOL板块房间数据

下篇:如何将数据导入Excel教程

遇到的问题:在名字中出现中英文混合的字符,会出现对不了齐的问题,有解决方法的可以在评论区分享!谢谢

发现错误的可以大力提出,一起交流学习

python房子代码,Python---20行代码爬取斗鱼平台房间数据(上)相关推荐

  1. 利用python爬取飞猪信息_Python---20行代码爬取斗鱼平台房间数据(下)-阿里云开发者社区...

    在上一篇中,已经详细的讲解了如何获取数据,接下来是深度处理数据,这里调用xlsxwriter库来制作Excel表格. 工具:Python3.6.5,Pycharm 1.模块介绍 XlsxWriter模 ...

  2. python爬斗鱼直播_Python---20行代码爬取斗鱼平台房间数据(下)

    在上一篇中,已经详细的讲解了如何获取数据,接下来是深度处理数据,这里调用xlsxwriter库来制作Excel表格. 工具:Python3.6.5,Pycharm 1.模块介绍 XlsxWriter模 ...

  3. Python---20行代码爬取斗鱼平台房间数据(下)

    在上一篇中,已经详细的讲解了如何获取数据,接下来是深度处理数据,这里调用xlsxwriter库来制作Excel表格. 工具:Python3.6.5,Pycharm 1.模块介绍 XlsxWriter模 ...

  4. Python---20行代码爬取斗鱼平台房间数据(上)

    本期用到json,requests库来爬取网页信息,这次爬的是一个特殊多页式网站,普通多页式网站只需分析不同页面的url,找出其中的不同点,用for in来循环即可,但是斗鱼的https://www. ...

  5. Python 爬虫 之 Selenium 模拟打开操作浏览器爬取斗鱼全部视播相关信息,并json保存信息

    Python 爬虫 之 Selenium 模拟打开操作浏览器爬取斗鱼全部视播相关信息,并json保存信息 基础: Python 爬虫 之 Selenium.webdriver 的安装,以及模拟打开操作 ...

  6. 原生爬取熊猫平台的数据

    今天小编分享一下,原生爬去熊猫平台的数据,希望能帮助大家. from urllib import request import reclass Reptile(object):url_pattern ...

  7. python网页版_经典python学习教程:20行代码打造一个微信群聊助手,解放双手

    今天的Python学习教程教大家如何用20行Python代码实现微信群聊助手,可以用来活跃群气氛,好多群主创建完群后,拉完一群人,之后就一片寂静,有个群聊助手,就可以帮忙活跃群里气氛,通过今天在自己的 ...

  8. 利用python做一个游戏主播_Python爬取2000万直播数据——看20万游戏主播能否月入100万...

    作者 | 朱小五and王小九 来源 | 凹凸数读 她那时候还太年轻,不知道命运赠送的礼物,早已暗中标好了价格. --茨威格 社会在发展,时代在进步.伴随着未曾停息的拥护声和反对声,电竞行业逐渐被接受, ...

  9. Python网络爬虫,Appuim+夜神模拟器爬取得到APP课程数据

    一.背景介绍 随着生产力和经济社会的发展,温饱问题基本解决,人们开始追求更高层次的精神文明,开始愿意为知识和内容付费.从2016年开始,内容付费渐渐成为时尚. 罗辑思维创始人罗振宇全力打造" ...

最新文章

  1. Attribute的一个列子
  2. python遍历excel_python遍历文件读取并写结果到excel
  3. makefile如何减小可执行文件的大小(没有用到的函数不参与链接)
  4. sharesdk短信验证码的集成
  5. 我的第一个REST客户端程序!
  6. 链路层到网络层的数据传递
  7. ETERM航班销售控制指令
  8. 淘宝店铺怎么发逛逛?发逛逛有什么要求?
  9. 美国圣诞8日西海岸自驾游
  10. 【python】OpenCV—Video to Imag / Image to Video
  11. 保障信息安全不违规,App应满足哪些法律规定
  12. 短地址短链接免费接口:缩短链接地址。可用于缩短链接场景,如:电子发票链接,促销活动链接,新闻文章链接等
  13. LPN(Request,Offer,Poll / Update,Establish,Cache)
  14. Unity 3D模型展示框架篇之框架运用
  15. 黑客技术真的能破解手机密码?对发展中的人工智能技术有影响吗?
  16. 数据库原理-ER模型转换为关系模型
  17. NKOJ 3762 守夜人 (并查集)
  18. 快速用php做oa,有了PHPOA移动OA系统,轻松实现商务快速响应
  19. 【SDN vs. NFV】纠缠不清的SDN和NFV
  20. 等保相关技术和产品之电子门禁系统

热门文章

  1. 数字传输系统的最佳接收与误码分析-python实现
  2. python 练习题目
  3. 手机怎么访问kodi_干货:如何使用KODI打造属于自己的娱乐媒体内容库?
  4. 表演动画中的动作捕捉技术的应用
  5. 计算机影响交流,计算机真能明白人类在说啥?
  6. 字符串分段组合python123_Python正则表达式(二)
  7. 3D立体字生成器【免费在线工具】
  8. 生信 使用SRA Toolkit下载SSR数据
  9. ArcGIS应用基础1 数据显示、查询及可视化
  10. 二进制转换成十进制然后输出 学堂在线第二章作业2-2