教大家用python爬取百度翻译,超简单

一,首先导入urllib里面的request和parse:这里导入parse主要字符转码

from urllib import request,parse

二,爬取别人的网站最好加入伪装,也就是浏览器的请求里的User-Agent,可以有效的过滤掉别人的反爬,

headers={'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.75 Safari/537.36'}

三,因为百度翻译是post请求,所以需要封装,还要对需要翻译的字体进行转码,要不会爬取不到页面

dict={'kw':'job'}#需要翻译的内容
new_name=parse.urlencode(dict)#进行转码
url='https://fanyi.baidu.com/sug'#url 连接
response=request.Request(url,headers=headers,data=bytes(new_name,encoding='utf-8'))#进行封装

四,爬取数据

text=request.urlopen(response).read().decode('utf-8')#爬取数据

五,由于数据是json格式,所以我们需要用json读取,所以导入json模块

import json
content=json.loads(text)

print(content)

结果:

自己可以格式化一下数据

有道翻译也可以爬取,多了一个随机值和md5加密,自己也可以找规律进行爬取的,

 

你可能感兴趣的:(python)