python网络爬虫-爬取云音乐评论(3)

「这是我参与11月更文挑战的第3天,活动详情查看:2021最后一次更文挑战

经过前两天对爬虫基础的学习,今天来小试牛刀一下。爬一下网易云的评论。

1.定位位置目标

先找一首我最喜欢的歌《黄金时代》,但是没有原唱的,网易云真的是啥歌原唱都没有,翻唱一大堆!!

image.png

可以看出所有评论都是包裹在id为id="auto-id-0flvTEG8zLVkFZST"的

标签中。不管它,现将网页下载下来看看。

2.下载网页

先把网页下载下来,然后用BeautifulSoup提取评论内容即可。

import requests

def get_url(url):
    headers = {'user-agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.835.163 Safari/535.1'}

    res = requests.get(url,headers = headers)

    return res

def main():
    url = input("请输入链接地址:")
    res = get_url(url)

    with open("res.txt","w",encoding = 'utf-8') as file:
        file.write(res.text)
        
if __name__ == "__main__":
    main()

输出的结果如下,需要自己输入相关歌曲的网页:

image.png

image.png

搜一下相关的评论,搜不到!说明评论不在这个文件中!那就说明,评论在别的文件中!

3.设置速度,找到目标文件

网速太快,刷一声,就加载了整个网页。

我们点开network,刷新一下,就可以发现很多源文件,它们就是组成整个网页的一部分:

image.png

我们要从这一堆文件里面找到藏有评论的文件;很显然,我们可以逐个文件翻查,但这方法有点麻烦。这里我们可以让浏览器慢点加载网页,当发现目标时,让时间停下来。

image.png

另外标签的顺序如下:

data = soup.select('#main > div > div.mtop.firstMod.clearfix > div.centerBox > ul.newsList > li > a')

翻车了,浏览器不可以!晚上回去更新下chrome!

评论是文档,我们可以直接查看XHR和DOC类型的文件。同时,下载目标文件时,我们会发现该文件时一个POST文件,记得我们前面说过POST文件需要什么吗?我们需要给服务器提交一些指定的数据,才能拿到我们想要的东西。这个我明天再更新出来!

猜你喜欢

转载自juejin.im/post/7026141408125796366