爬虫百战穿山甲:百度翻译爬虫
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_())
以上是关于爬虫百战穿山甲:百度翻译爬虫的主要内容,如果未能解决你的问题,请参考以下文章