爬虫百战穿山甲:百度翻译爬虫

Posted Gendan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了爬虫百战穿山甲:百度翻译爬虫相关的知识,希望对你有一定的参考价值。

import requests
import json
url = "https://fanyi.baidu.com/sug"

    # 定义请求的参数

headers={

    \'User-Agent\':\'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (Khtml, like Gecko) Chrome/86.0.4240.75 Safari/537.36 Edg/86.0.622.38\'
}

in_data = input("请输入:")
data = {\'kw\': in_data}

    # 创建请求, 发送请求, 爬取信息

res = requests.post(url, data=data,headers = headers)

    # 解析结果

str_json = res.content
myjson = json.loads(str_json)
print(myjson\'data\'[\'v\'])
本章相对来说是很简单的,今天太累了。上面这串代码美中不足的地方在于可以英译汉,无法汉译英,估计是被反了。
带上UI
UI由团队成员“应X”出品
class MainWindow(QMainWindow):

def __init__(self, parent=None):
    super(MainWindow, self).__init__(parent)
    # 设置主窗口的标题
    self.setWindowTitle("百度翻译客户端——Python版本      Write from 87-MyFriends")
    # 设置窗口大小
    self.resize(1500, 850)
    # 设置窗口不可改变大小
    self.setFixedSize(self.width(), self.height())
    self.path = None
    self.txtEditor = None
    self.txtATranslate = None
    self.txtEditor_txt = None
    self.txtATranslate_txt = None
    # 消息栏
    self.status = self.statusBar()
    self.status.showMessage(\'欢迎来到百度翻译客户端,由Python PyQt5 和 requests 模块大力支持,write with 87-MyFriends.\', 10000)
    # 控件设置
    self.initUi()
def initUi(self):
    # 提示文本
    self.txtEditor_txt = QLabel(self)
    self.txtEditor_txt.setText(\'文本输入框(待翻译文本输入)\')
    self.txtEditor_txt.setGeometry(300, 0, 100, 100)
    self.txtATranslate_txt = QLabel(self)
    self.txtATranslate_txt.setText(\'[PerfectMoney下载](https://www.gendan5.com/wallet/PerfectMoney.html)翻译输出框(已翻译文本输出)\')
    self.txtATranslate_txt.setGeometry(1050, 0, 100, 100)
    # 文本输入框(待翻译)
    self.txtEditor = QTextEdit(self)
    self.txtEditor.setGeometry(40, 70, 700, 700)
    # 文本输出框(已翻译)
    self.txtATranslate = QTextEdit(self)
    self.txtATranslate.setGeometry(760, 70, 700, 700)
    # 底部超链接
    link = QLabel(self)
    link.setText(
        \'详细释义请参照<a href="https://fanyi.baidu.com">百度翻译</a>。若本产品使用不方便,请下载<a href="https://fanyi.baidu.com/client/download/redirect">百度翻译桌面端(官方)</a>\')
    link.setGeometry(840, 780, 1000, 50)
    # 菜单栏控件设置函数
    self.initMenuBar()
def initMenuBar(self):
    menuBar = self.menuBar()
    textMenu = menuBar.addMenu(\'文本(&T)\')
    helpMenu = menuBar.addMenu(\'帮助(&H)\')
    # ==== 文本部分 ==== #
    translate_btn = QAction(QIcon(\'./images/icon.ico\'), \'Translate 翻译\', self)
    translate_btn.setShortcut(\'Ctrl+T\')
    translate_btn.triggered.connect(self.translate)
    textMenu.addAction(translate_btn)
    # ==== 帮助部分 ==== #
    aHelpAbout = QAction(\'关于(&A)...\', self)
    aHelpAbout.triggered.connect(self.onHelpAbout)
    helpMenu.addAction(aHelpAbout)
def translate(self):
    url = "https://fanyi.baidu.com/sug"
    headers={
            \'User-Agent\':\'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.75 Safari/537.36 Edg/86.0.622.38\'
        }    
    in_data = input("请输入:")
    data = {\'kw\': in_data}
            # 创建请求, 发送请求, 爬取信息
    res = requests.post(url, data=data,headers = headers)
            # 解析结果
    str_json = res.content
    myjson = json.loads(str_json)
    #print(myjson[\'data\'][0][\'v\'])
    self.txtATranslate.setPlainText(myjson[\'data\'][0][\'v\'])
def onHelpAbout(self):
    QMessageBox.information(self, \'信息\', \'作者:87-MyFriends\\n版权所有\')

if name == \'__main__\':

app = QApplication(sys.argv)
app.setWindowIcon(QIcon(\'./images/icon.ico\'))
main = MainWindow()
main.show()
sys.exit(app.exec_())

以上是关于爬虫百战穿山甲:百度翻译爬虫的主要内容,如果未能解决你的问题,请参考以下文章

《从零开始,学会Python爬虫不再难!!!》系列导航(持续更新中)

python百度翻译爬虫

python爬虫百度翻译

Python爬虫之破解百度翻译--requests案例详解

Python爬虫 — 百度翻译

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