基本信息

案例ID:177475

技术顾问:一缕阳光 - 5年经验 - 武汉软帝联合科技有限公司

联系沟通

微信扫码,建群沟通

项目名称:爬取电影网站

所属行业:文化娱乐 - 视频

->查看更多案例

案例介绍

我们仔细观察每部电影的URL和Ajax请求API,
例如点击《霸王别姬》,观察URL的变化

可以看到,电影详情页的URL和首页的不一样,
在图2-13 中,URL里的detail后面 直接跟的是id,是1、2、3等数字
但是这里变成了一个长字符串,看着是由Base64编码而成,
也就是说详情页的URL中包含 加密参数,所以我们无法直接根据规律构造详情页的URL

然后,依次点击列表页的第一页到第十页,观察Ajax请求,

可以看到,这里接口的参数多了一个token字段,而且每次请求的token都不同,
这个字段看着同样是由Base64编码而得
更棘手一点的是,API具有时效性,意味着把Ajax接口内URL复制下来,
短期内是可以访问的,但过段时间就访问不了了,会直接返回401状态码

之前我们可以直接用requests构造Ajax请求,但现在Ajax请求接口中带有token,
而且还是可变的。
我们不知道token的生成逻辑,就没法直接构造Ajax请求来爬取数据,怎么办呢?

先分析出token的生成逻辑,再模拟Ajax请求,是一个办法,
可这个办法相对较难,
此时我们可以用Selenium绕过这个阶段,直接获取JavaScript最终渲染完成
的页面源代码。再从中提取数据即可

之后我们要完成如下工作。

通过Selenium遍历列表页,获取每部电影的详情页URL
通过Selenium根据上一步获取的详情页URL 爬取每部电影的详情页
从详情页中提取每部电影的名称、类别、分数、简介、封面等内容

职责:
准备Chrome浏览器并配置好ChromeDriver。
成功运行python和用selenium打开Chrome浏览器。
爬取列表页,详情页,数据存储。

相似案例推荐

其他人才的相似案例推荐

发布任务

企业点击发布任务,工程师会在任务下报名,招聘专员也会在1小时内与您联系,1小时内精准确定人才

微信接收人才推送

关注猿急送微信平台,接收实时人才推送

接收人才推送
联系聘用方端客服
联系聘用方端客服