python爬虫

您所在的位置:网站首页 python爬虫爬取天气预报结果 python爬虫

python爬虫

2024-07-13 18:18| 来源: 网络整理| 查看: 265

实现的效果

~~在这里插入图片描述~~ 可视化界面由于作者的审美有限,所以有点丑,但是还是讲究可以看一下,主要的功能没有改变,博友们也可以根据自己的喜好改变一下。

原理

在这里插入图片描述 这里我们使用百度翻译网页,对上面的翻译内容进行爬取,至于音频,我们也可以将其爬取下来,并进行本地保存和播放。

一、翻译内容以及播放的音频的爬取 (1)找到目标网页

一、翻译结果 我们先对目标网页进行踩点,我们先使用F12进行检查,打开network,然后随便输入一个词语,观看网页返回信息的变化。当我们在查看XHR里的内容时,发现了我们需要的信息。 在这里插入图片描述 点击右侧的preview,在trans_result中看到了我们需要的信息。 在这里插入图片描述 所以这个就是我们的目标网页。 二、语言 在这里插入图片描述 我们在media中找到语言,观看结构,很简单,只需要提供自己所翻译的信息就行了。并没有进行什么加密。 在这里插入图片描述 (2)对目标网页的信息进行观测 我们重点观察网页的url,可以发现这个是通过post方法获得信息的,然后我们在看form Data。 在这里插入图片描述 其中发现sign和token是比较棘手的。 我们在随便输入一个值,翻译看一下form Data有什么变化。 在这里插入图片描述 明显token没有发生变化,但是sign发生了变化,初步判断该网页使用了加密。 我们进行search。查看资源中是否含有sign的信息。 在这里插入图片描述 在这里插入图片描述 我们发现有很多的assign,很明显不对,我们继续寻找。 终于,我们找到了我们需要的sign,然后对此处进行断点。 在这里插入图片描述 然后我们按F11,查看f(n)对其进行复制到python进行执行。 在这里插入图片描述

import execjs with open("百度翻译.js", "r", encoding="utf-8") as f: js = execjs.compile(f.read()) sign = js.call("e", "你")

但是很遗憾他报错了,说 i not defind。 我们接下来就是找到i,我们使用watch对i进行监听。 在这里插入图片描述 发现他是一个定值,我们直接把i加到最前面。大功告成!!! 再次执行,没有报错。 在这里插入图片描述 接下来就简单了,直接使用js获得sign关键信息,使用request进行网页的获取,获得翻译结果。 代码如下。 一、js代码

var i = "320305.131321201" function n(r, o) { for (var t = 0; t = "a" ? a.charCodeAt(0) - 87 : Number(a), a = "+" === o.charAt(t + 1) ? r >>> a : r C; C++) "" !== e[C] && f.push.apply(f, a(e[C].split(""))), C !== h - 1 &&


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3