又到了Python爬虫+数据分析可视化专题
今天跟着老师手把手带你爬天猫。
对于有些网站,需要登陆后才有可能获取到网页中的数据。天猫网站就是其中的网站之一。
这里我想要爬取的是杜蕾斯。因此我们直接搜索“杜蕾斯”。由于“杜蕾斯”的卖家有很多,这里我们只选取页面的第一个图片,进行其中的“评论数据”的爬取。
点击第一个图片,进入到我们最终想要爬取数据的网页。可以看到该页面有很多评论信息,这也是我们想要抓取的信息。
3、进行第一次请求测试
结果如下:
结果分析:明明评论信息就是在这个页面里面,我们这样请求,怎么得不到数据呢?难道是没有带着cookies发送请求?我们接下来尝试带着cookies发送请求。
4、进行第二次请求测试
结果如下:
结果分析:不科学哈!这次我已经带着cookies发送了请求呀,为什么还是获取不到我们想要的数据,会不会“评论数据”根本就不再这个url中呢?那么真正的true_url究竟在哪里呢?下面我们慢慢解密。
5、怎么找到真正的true_url?
1)点击【鼠标右键】–>点击【检查】
2)点击【Network】
3)刷新网页
刷新网页以后,可以发现【红色方框】中,多了很多请求的url。
4)点击【搜索按钮】,进行评论数据搜索,寻找trul_url
当出现如下界面后,按照如图所示操作即可。
紧接着,查看该请求所对应的Request URL,就是我们最终要找的
true_url。信不信吗?下面可以试试。
6、进行第三次请求测试
首先我们在上述图的基础上,顺着Request URL往下面找,获取Request Headers中user-agent、referer、cookie这3样东西。
反正都在Request Headers中,我们将这3样东西,一一粘贴到headers中,形成一个字典格式的键值对。然后我们发起其三次请求。
结果分析:经过一番波折,我们最终找到了我们想要获取的数据,接下来的话,就是我们进行页面解析的工作了。
其实在真实的爬虫环境中,可能会遇到更多的反爬措施,真正难得不是解析网页,而是分析网页和反爬。
7、获取网页中的评论数据
8、翻页爬取(最终代码)
我们的目的肯定不只是爬取一个页面的评论数据,而是进行翻页爬取,我们需要仔细观察true_url中,有一个【currentPage=1】参数,当这个数字变化的时候,对应的页面也就发生的变化,基于此,我们将完整的爬虫代码写在下面。
9、词云图的制作
结果如下: