中实战聚焦爬虫之百度翻译

核心提示需求:翻译结果分析:要拿到布局网页内容实施方案:1:先拿到整个页面,然后通过正则?xpath?bs4?进行定位,然后获取 2:直接获取结果并持久化 经过分析。翻译中实际调取的url=https://fanyi.baidu.com/su

要求:翻译结果

分析:获取页面内容的布局

实现:1:先获取整页,再通过正则化?xpath?bs4?去拿吧。

2.直接得到结果,坚持下去。

经过分析。

翻译中实际检索到的URL = file/tupian/20220910/pp数据= {

千瓦':'狐狸'

}

然后进行相应的UA伪装。

直接装载代码:

标题= {

“用户代理”:“您浏览的用户代理”

}

然后调试的时候,

问题1:一句话总结,你在浏览器里看到的网址并不是真正得到结果的网址。我们可以称之为伪装。

链接错误,帖子链接必须是最后输入的字母的url。

例如,您可能输入了以下url

file/tupian/20220910/ppresponse = requests.post

因为我们得到的回复数据是

帐篷型:

内容类型:应用程序/json

应用/jso

所有,你不能添加文字后

可以这样写:直接写的话,就。json。

或者。

dic_obj = response.json

其实response的输出对象有三类方法,一类是text,一类是content,一类是json。看你需要哪一个了。如果不是你需要的,然后你持久化需要的是另外一个,那么你就需要转换它,写一个plug。就这么简单。

json数据处理涉及两种方法:序列化和反序列化。

python中的序列化,简单来说就是将python字典转换成json格式的字符串进行存储或传输;

反序列化,简单来说就是将json格式的字符串转换成python字典进行分析处理。

比如我们返回的是这个对象的类型是str,然后我们需要json。

然后是json.dump

问题3:如果使用这样的布局

import requestsimport JSON post _ URL = " https://fanyi . Baidu . com/sug " data = { ' kw ':' fox ' } headers = { " User-Agent ":" Mozilla/5.0 AppleWebKit/537.36 Chrome/96 . 0 . 4664 . 110 Safari/537.36 Edg/96 . 0 . 1054.62 " } response = requests . postdic _ obj = response . jsonfp = open JSON . dump print

但是在PyCharm打开fox.json,什么都没有。

但是右边的变量观察窗口正常显示翻译结果为“Fox”,看到的是200的正常状态返回码。

记住,文件必须关闭。

添加以下句子,

fp.write。

再跑一次,完美。无论是在pycharm还是Explorer中打开fox.json。

您可以看到以下结果。

有问题不要着急!按照这个思路,一切都可以解决。

放弃很容易,坚持下来一定很爽!

 
友情链接
鄂ICP备19019357号-22