天天看点

【崔庆才教材】《Python3网络爬虫开发实战》3.4爬取猫眼电影排行代码更正(绕过美团验证码)

前情提要

最近有七八个小伙伴私信问我说崔大神的《Python3网络爬虫开发实战》教材中 “3.4爬取猫眼电影排行” 一节的代码目前不能用。

首先附上崔大神的github源码:3.4爬取猫眼电影排行

一、猫眼电影反爬更新

下图是崔大神的代码:

【崔庆才教材】《Python3网络爬虫开发实战》3.4爬取猫眼电影排行代码更正(绕过美团验证码)

估计是太多人学习爬虫拿猫眼电影练手了。猫眼增强了反爬,目前headers中只加入‘User-Agent’的话,会跳转到美团的验证码界面。

【崔庆才教材】《Python3网络爬虫开发实战》3.4爬取猫眼电影排行代码更正(绕过美团验证码)

此处小白们不必硬刚验证码(大神们请随意)。

我们只需要在headers中加入‘cookie’字段旧不会跳转到验证码页了。

在chrome中打开猫眼榜单页面,按F12,出现下图界面:

【崔庆才教材】《Python3网络爬虫开发实战》3.4爬取猫眼电影排行代码更正(绕过美团验证码)

把‘cookie’字段添加到headers中即可,代码示例如下:

headers = {
		'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36',
        'Cookie': '__mta=208959789.1585106920033.1593509077842.1593509107607.47; _lxsdk_cuid=1710fbc224bc8-0048503dcb84eb-f313f6d-1a298c-1710fbc224cc8; mojo-uuid=bc73035186bc203e1e0a1a9d69cf0c8f; uuid_n_v=v1; uuid=010A4750BAB111EA977B252D9527D646FCA82B59C6B54FB3934C361D719643F2; _csrf=ab7e60b187089a5c797755f042abdbd14eed1760f8308dc455570ee9ea4edfa2; mojo-session-'
}
           

然后就可以正常访问了

【崔庆才教材】《Python3网络爬虫开发实战》3.4爬取猫眼电影排行代码更正(绕过美团验证码)

二、http协议错误

有的小伙伴就算加入了‘cookie’,还是不能获取到正常页面,还是会跳转到‘验证中心’,也就是美团的验证码界面。那么请检查一下代码这里:

下图是崔大神的代码:

【崔庆才教材】《Python3网络爬虫开发实战》3.4爬取猫眼电影排行代码更正(绕过美团验证码)

简单介绍一下http和https的区别:

HTTP的连接很简单,是无状态的。

HTTPS协议是由SSL和HTTP协议构建的可进行加密传输、身份认证的网络协议。

HTTPS要比HTTP协议安全。

更多更详细的区别和联系请查看:Tyler_Zx介绍的 Http和Https的区别(面试常考题)

我们只需要把url改为https即可:

遇到此问题的小白们不妨一试。