目录
前言
网络爬虫是一类通过程序的方式获取互联网上的信息的一种十分快捷的方式,你可以用它爬取图片、新闻以及任何你想要获取的互联网上的内容。
网易云歌曲下的评论十分具有艺术特色,我们这次实例的目标就是将歌曲下的精彩评论爬取下来,请看接下来我是如何实现的。
一、准备工作
- python 3.7,pycharm
- 要爬取的网页:
- 需要的python第三方库:
import requests from Crypto.Cipher import AES from base64 import b64encode import json
(每个库的作用会在使用时进行详细说明)
二、操作步骤
1.分析目标网页,确定目标链接
首先,我们需要确认目标内容是否在页面源代码里。如果存在,则可以使用BeautifulSoup或Xpath对页面源代码进行目标内容的提取;如果不存在,我们就需要找到显示目标内容的url链接,然后对其进行分析和爬取。
- 很明显,在目标url的源代码中没有找到我们想要的评论,意味着现在是上述的第二种情况,我们需要找到真正可以显示出评论的url。
- 通过浏览器上的抓包工具,我们可以看到在打开这个网页时,浏览器自动地向这些url发送了请求,并得到了相应,上图中所指的url则是包含了评论的真正的目标链接。并且在Headers中可以看到,需要传入的参数data是被加密过后的模式,由params和encSecKey构成,所以我们需要得到这两个参数。
2.分析调用过程,确定发送请求需要的参数
- 在Intiator栏内可以查看浏览器所调用的请求堆栈,通过这个,我们可以知道浏览器进行了那些js脚本的执行过程。我们可以通过分析这些请求,来找寻我们需要的参数。
- 从最近一次发起的请求开始,可以看到定位到了图中的高亮语句,表明最近一次请求是程序执行了此条语句,所以我们可以在此处设置一个断点,看看当程序执行到这里时会得到什么内容