爬取的列表为空!正则表达式没错!原因是什么?

开始学爬虫

要爬取一个斗鱼的主播和观看人数

打开开发者工具,查看源码,发现是这样:

<div class="DyListCover-info"><span class="DyListCover-hot"><svg class="DyListCover-hotIcon"><use xlink:href="#icon-hot_8a57f0b"></use></svg>9032</span><h2 class="DyListCover-user"><svg class="DyListCover-userIcon"><use xlink:href="#icon-user_c95acf8"></use></svg>悦人迷心</h2></div>

(红色的是人数和名字)

然后我弄了个正则表达式:

'<div class="DyListCover-info"><span class="DyListCover-hot">([\s\S]*?)</div>'

然后我死活匹配不上。列表始终为0

过了两小时

我右键单击页面打开了“查看页面源代码

发现是这样:

<div class="DyListCover-info"><span class="DyListCover-hot is-template"><svg><use xlink:href="#icon-hot_8a57f0b"></use></svg>48.9万</span><h2 class="DyListCover-user is-template"><svg><use xlink:href="#icon-user_c95acf8"></use></svg>杀杀杀人哥</h2></div>

(两个主播是不同的,这一点不是关键)

重要的是!:开发者工具中看到的源代码和我们直接打开看到的源代码不一样!!我们爬的是原始的源代码,但是开发者工具中的是可能被浏览器修改过的!可能是JavaScript渲染或其他巴拉巴拉。。。

发布了46 篇原创文章 · 获赞 9 · 访问量 913

猜你喜欢

转载自blog.csdn.net/weixin_45850939/article/details/104564884
今日推荐