Python获取Jira Issue字段与Preview数据


最近一直在一个平台学习Python,所以分享下课程里面抓取百度翻译的操作。原理其实也很简单,就是将浏览器请求的操作我们用python进行模拟,从而获取到返回的数据,我们将返回的数据进行提取,从而得到我们想要的内容。

 

一、安装requests模块

1.当然如果安装过了就可以跳过这一步了。如果没有安装过可以通过命令行输入 pip install requests 进行安装。如果你是用的pycharm,那么需要在当前工程下的venv里面安装,因为我一开始直接打开命令行输入的命令,安装成功但是程序导入包的时候还是提示找不到这个模块,后面在工程下的venv目录下安装就好了。

       2.当然也可以通过pycharm自带的安装模块进行安装。点击File->settings 找到如下图的位置,输入你需要安装的模块名称,然后点击Install Package即可。当然推荐这种方式安装了。

python 获取jira issue field python获取preview_开发工具

 

 二、进行百度翻译数据请求的收集

1.首先我们进入百度的翻译页面,网址 http://fanyi.baidu.com/translate。这里我们需要点开开发者模式(像搜狗浏览器快捷键就是F12),将浏览器切换成手机模式(最上面圈起来的那个小图标点击一下就是手机模式,其他浏览器图标也差不多)。因为PC端的web在post提交数据的时候会有2个我们不好获取的参数(其中一个是token),但是手机版的没有这2个参数,所以我们选择手机版进行所需要的数据收集。

  2.我们输入一个查询的内容,点击翻译按钮。这个时候我们可以看到Network下会有很多文件,我们找到如图下的这个文件,会发现我们想要的一些信息都在这个里面了。

  request URL:请求的地址

  request method:请求的方式,一般常见的也就Post和Get

  user-agent:用户代理,你会发现pc和手机请求的时候这个里面的值是不一样的。而且如果你不设置的话,里面会有一个python的默认值。这个值可能会影响网站给你返回的数据。

  form data:就是我们提交的表单数据了。而参数的zh表示中文,en表示英文,这个可以多获取几个语言的参数,然后自行选择从哪个语言翻译成哪个语言即可。

python 获取jira issue field python获取preview_json_02

 

  

  3.我们点击response可以看到返回的数据,我们想要的数据就在这个里面了。

python 获取jira issue field python获取preview_百度翻译_03

  格式化后我们最后可以发现data下的st_tag里面就是我们想要的数据了,到时候直接解析出来这个内容即可。

python 获取jira issue field python获取preview_开发工具_04

 

 三、附上Python源码



import requests #导入需要的包
import json

search = input("请输入你要翻译的内容:")

url = "http://fanyi.baidu.com/extendtrans" #请求的地址
headers={"User-Agent":"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.76 Mobile Safari/537.36"} #设置请求的头部

#设置提交的数据
posData={"query":search,
                "from":"en",
                "to":"zh"}

response = requests.post(url=url,data=posData,headers=headers)#模拟请求

#获取response的数据有2种方式 一种是text获取的直接是文本格式 但是可能有乱码 需要手动设置response.encoding("编码") 解决乱码
#还有一种就是response.content 里面存的是网站直接返回的数据 二进制格式 然后通过decode解码即可
#因为返回的是json对象,所以我们将最后解码后的字符串进行json格式转换 使用json.loads()进行转换
json_data=json.loads(response.content.decode())

#然后我们可以通过格式化工具进行json的解析
print("单词:{0} 翻译:{1}".format(search,json_data["data"]["st_tag"]))
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.



  运行效果

python 获取jira issue field python获取preview_百度翻译_05

 

  不到10行代码就可以搞定,现在想了想如果用java实现的话恐怕几十行吧,大家也来试试吧^_^



QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空