python爬虫百度翻译

  • python3,爬取的是百度翻译手机版的网页

  • 运用requests,json模块

  • 英汉互译,运行结果

#!/bin/python3
# -*- coding: UTF-8 -*-

#=============================================
#describe:an en to zh and zh to en translater
#version:1
#update:2018-08-03
#---
#author:unihon
#E-mail:[email protected]
#github:https://github.com/unihon
#=============================================

import requests
import json

def trans():
    userAgent = "Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1"

    header = {
            "Host": "fanyi.baidu.com",
            "Origin": "http://fanyi.baidu.com",
            "User-Agent": userAgent
            }

    postUrl="http://fanyi.baidu.com/basetrans"

    wd = input("please input a word: ")
    print(‘-------------------------------‘)
    if wd == ‘‘:
        trans()
        return

    for c in wd:
        if c < u‘\u4e00‘ or c > u‘\u9fa5‘:
            print(‘[en to zh]\n‘)
            mdata = {
                    "from":"en",
                    "to":"zh",
                    "query" : wd
                    }
            break
        elif c == wd[-1]:
            print(‘[zh to en]\n‘)
            mdata = {
                    "from":"zh",
                    "to":"en",
                    "query" : wd
                    }
    try:
        response = requests.post(postUrl, data = mdata, headers = header)
    except:
        print(‘connect error!‘)
        return 1

    result = response.text
    result=json.loads(result)

    if len(result["dict"]) == 0:
        print(‘is null‘)
    else:
        try:
            for i in result["dict"]["word_means"]:
                print(‘> ‘+ i)
        except KeyError:
            print(‘key is null‘)

if __name__ == "__main__":
    print("===============================")
    trans()
    print("===============================")
  • 小结

需要注意的是,爬到的json数据,中文一般是unicode编码的形式,可以用json模块处理。

原文地址:https://www.cnblogs.com/unidl/p/9418661.html

时间: 2024-10-09 22:57:03

python爬虫百度翻译的相关文章

python爬虫--百度风云榜--pandas画趋势图

好久没有更新博客,最近做了一个小项目,利用python爬虫功能,每天记录爬取百度风云榜的数据,然后画出趋势图,从而预测旅游城市热度. 原本准备用pandas直接读取table,后来发现pandas不能打包成exe,就只能放弃,尝试了petl也失败了. 在画图的过程中出现了中文无法显示的问题,查询得出是因为matplotlib的问题,没有引入中文字体. 先上分析代码 import os import pandas as pd rootdir='C:/files' #先删除一下result.csv#

Python 调用百度翻译API

由于实习公司这边做的是日文app,有时要看看用户反馈,对于我这种五十音图都没记住的人,表示百度翻译确实还可以.但不想每次都复制粘贴啊,google被墙也是挺蛋疼的事,所以用python结合baidu api 整了一下,和大家分享. 1.百度翻译api 由于百度翻译api需要用到API key,所以,得注册百度开发者账号,然后创建开发者服务工程,得到的授权API key,具体操作可查看官方文档,请点 百度翻译api 2.代码实现  基本思路是:先将用户反馈抓下来,然后再处理html标签,再调用百度

Python 调用 百度翻译 出现error997 的解决办法

如果程序不报错,其主要原因是百度防爬虫,可能是因为电脑网页版本的百度翻译防爬所致,换用手机版本的百度翻译暂时可行.这也是很多视频都是用手机版百度翻译来讲解的原因: 大多数换用手机版的也会报997错误,或许是手机也防爬虫了吧,如果用get的方法来爬虫是可以的,但是使用post方法是会报997错误的 以下是我的get方法的爬虫代码,大佬们别喷,我刚学: import pprint import requests url = "http://www.baidu.com" response =

python 爬虫 百度贴吧签到小工具

import requests,re,timeheader ={ "Cookie":"登陆过账号后的cookie 必须填写", "User-Agent":"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36"}#访问个人帐号下的贴吧主页url = "百

python爬虫(二):向网页提交数据

python爬虫(二):向网页提交数据 回忆一下,我们有的时候在看一些网站的时候,是否遇见过一些网站里面的信息开始显示一部分,然后当我们把鼠标滑轮向下拉动后,又显示出一些信息.这就是异步加载.我的上一篇文章python爬虫百度贴吧标题数据爬取的所有标题都是页面已经加载好的.但是对于这种开始没有加载好的数据我们应该如何爬取呢? 接下来我们先介绍下一些概念: 异步加载:举个简单的例子就是说,假如老师判作业,有两种情况,第一种就是无论哪个学生先写完,都等待到所有的同学全部写完,老师讲所有的作业都收齐后

Python爬虫教程-08-post介绍(百度翻译)(下)

Python爬虫教程-08-post介绍(下) 为了更多的设置请求信息,单纯的通过urlopen已经不太能满足需求,此时需要使用request.Request类 构造Request 实例 req = request.Request(url=baseurl,data=data,headers=header) 发出请求 rsp = request.urlopen(req) 文件: 案例v8文件:https://xpwi.github.io/py/py%E7%88%AC%E8%99%AB/py08po

学习python:实例1.百度翻译

效果: 代码: # 百度翻译 # Python 3.5.1 from urllib import request, parse import json url = 'http://fanyi.baidu.com/v2transapi' context = input('请输入需要翻译的内容 :\> ') if context >= '\u4e00' and context <= '\u9fa5':     # 判断输入内容是否为汉字     From,To = 'zh','en' els

Python爬虫实战二之爬取百度贴吧帖子

大家好,上次我们实验了爬取了糗事百科的段子,那么这次我们来尝试一下爬取百度贴吧的帖子.与上一篇不同的是,这次我们需要用到文件的相关操作. 前言 亲爱的们,教程比较旧了,百度贴吧页面可能改版,可能代码不好使,八成是正则表达式那儿匹配不到了,请更改一下正则,当然最主要的还是帮助大家理解思路. 2016/12/2 本篇目标 1.对百度贴吧的任意帖子进行抓取 2.指定是否只抓取楼主发帖内容 3.将抓取到的内容分析并保存到文件 1.URL格式的确定 首先,我们先观察一下百度贴吧的任意一个帖子. 比如:ht

[Python爬虫] Selenium获取百度百科旅游景点的InfoBox消息盒

前面我讲述过如何通过BeautifulSoup获取维基百科的消息盒,同样可以通过Spider获取网站内容,最近学习了Selenium+Phantomjs后,准备利用它们获取百度百科的旅游景点消息盒(InfoBox),这也是毕业设计实体对齐和属性的对齐的语料库前期准备工作.希望文章对你有所帮助~ 源代码 1 # coding=utf-8 2 """ 3 Created on 2015-09-04 @author: Eastmount 4 """ 5