1. 程式人生 > >python爬取當前匯率,jython的應用,實時匯率兌換

python爬取當前匯率,jython的應用,實時匯率兌換

之前學習swing時寫個一個簡單的匯率轉換器,之前又學習了python,於是想用python寫個爬蟲,把資料給java展示出來,媒介採用jython,將python解析的結果儲存到txt文件中,java讀取文件 ,如果不用jython就得手動先執行一遍python,就沒意思了,等於只用執行java程式,每一次執行時通過jython自動呼叫java程式.

python程式:(爬取資料,正則匹配,結果儲存到e:1.txt)

import urllib
import urllib2
import re
import sys
reload(sys)
sys.setdefaultencoding( "utf-8" )
url="http://www.boc.cn/sourcedb/whpj/";
spath="E://1.txt"
f=open(spath,"w")
user_agent = "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36"
headers = { 'User-Agent' : user_agent}  
request=urllib2.Request(url,None,headers);
response =urllib2.urlopen(request)
content=response.read().decode("utf-8")
#f.write(content)
result = re.findall('(?<=<td>).+?(?=</td>)',content)
f.write(result[178]+"\n")
#f.write(cj)
f.close()
    

jython的使用:

4可以使用了...

java程式碼:

import java.awt.*;
import javax.script.*; 
import org.python.util.PythonInterpreter;  //引入jython
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import javax.swing.*;
import java.io.*;  
import static java.lang.System.*;  
public class device extends JFrame{
	private double d;
public class alert extends JDialog{
		public alert(){
			setTitle("警告");
			setLayout(null);
			setBounds(400,300,250,200);
			Container container=getContentPane();
			JLabel jl= new JLabel("拜託請輸入正確的兌換金額");
		    jl.setBounds(50,50,200,100);
			container.add(jl);
			container.setBackground(Color.white);
		    setVisible(true);
		    }
}
   public device()throws IOException{
	   Process proc = Runtime.getRuntime().exec("python  C:\\Python27\\c.py");  
	   try {
		proc.waitFor();
	} catch (InterruptedException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}  
	   setTitle("匯率兌換器");
	   setLayout(null);
	   setBounds(200,200,500,550);//第一個為視窗左上點的橫座標,第二個為視窗左上點的縱座標,第三個為視窗橫向大小,第四個為縱向視窗
	   Container container=getContentPane();
	   JLabel jl= new JLabel("兌換金額(美元)");
	   jl.setBounds(50,150,200,100);//相對於視窗
	   container.add(jl);
	   JLabel jl2=new JLabel("兌換金額(人民幣)");
	   jl2.setBounds(45,250,200,100);
	   container.add(jl2);
	   JTextField jt=new JTextField("");
	   jt.setBounds(175,170,200,50);
	   container.add(jt);
	   JTextField jt2=new JTextField("");
	   jt2.setBounds(175,275,200,50);
	   container.add(jt2);
	   JButton jb=new JButton("重置");
	   jb.setBounds(100,400,100,50);
	   container.add(jb);
	   JButton jb2=new JButton("兌換");
	   jb2.setBounds(250,400,100,50);
	   container.add(jb2);
	   FileReader fin = new FileReader("E:\\1.txt");//讀入檔案
	   BufferedReader bin = new BufferedReader(fin);
	   String str=bin.readLine();//讀入
	   bin.close();//關閉檔案
	   if (str.isEmpty()){
		   System.out.println("沒有聯網\n");
	   }
	   d=Double.valueOf(str);
	   d=d/100;
	   JLabel jl3=new JLabel("當前匯率(每百美元)為:");
	   jl3.setBounds(30,50,200,100);
	   container.add(jl3);
	   JTextField jt3=new JTextField(str);
	   jt3.setBounds(175,75,200,50);
	   container.add(jt3);
	   container.setBackground(Color.white);
	   setVisible(true);
	   jb.addActionListener(new ActionListener() {
			
			@Override
			public void actionPerformed(ActionEvent arg0) {
				// TODO Auto-generated method stu9b
			  jt.setText("");
			  jt2.setText("");
			}
		});
	   jb2.addActionListener(new ActionListener() {
			
			@Override
			public void actionPerformed(ActionEvent arg0) {//要判斷輸入是否合法
				// TODO Auto-generated method stu9b
				String s= jt.getText();
				if ((s.matches("\\d+"))||(s.matches("\\d+\\.\\d+"))){
				double n=Double.parseDouble(s);
				n=n*d;
				String ss=new java.text.DecimalFormat("#.000").format(n);//防止出現浮點數異常(比如1.000005)
				jt2.setText(ss);
			}
				else {
					new alert();
					jt.setText("");
				     }
			}
		});
}
      public static void main(String args[]){
    	 
		 try {
			new device();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
}
}

當然你也可以新增其他功能,比如使用下拉列表新增多個匯率之類的,逆向轉換。

以上為完整程式碼:

相關推薦

python當前匯率jython應用實時匯率兌換

之前學習swing時寫個一個簡單的匯率轉換器,之前又學習了python,於是想用python寫個爬蟲,把資料給java展示出來,媒介採用jython,將python解析的結果儲存到txt文件中,java讀取文件 ,如果不用jython就得手動先執行一遍python,就沒意思

pythonB站千萬級數據發現了這些熱門UP主的秘密!

python 爬蟲 科技 web 編程Python(發音:英[?pa?θ?n],美[?pa?θɑ:n]),是一種面向對象、直譯式電腦編程語言,也是一種功能強大的通用型語言,已經具有近二十年的發展歷史,成熟且穩定。它包含了一組完善而且容易理解的標準庫,能夠輕松完成很多常見的任務。它的語法非常簡捷和清晰,與其它大

python美空網女神圖片小心記憶體走火

爬蟲分析 首先,我們已經爬取到了N多的使用者個人主頁,我通過連結拼接獲取到了 www.moko.cc/post/da39db…   在這個頁面中,咱們要找幾個核心的關鍵點,發現 平面拍攝 點選進入的是圖片列表頁面。 接下來開始程式碼走起。 獲取所有列表頁面 我

python煎蛋網妹子圖已解密圖片~~~~~

本來想爬一波無聊圖,唉,竟然加密了。。。。 還好是base64 不說了,程式碼獻上 2018.12.14 有效。。。。。   import requests from bs4 import BeautifulSoup import base64,time base64_l

Python 大眾點評 50 頁資料最好吃的成都火鍋根本想不到!

    成都到處都是火鍋店,有名的店,稍微去晚一點,排隊都要排好久,沒聽說的店,又怕味道不好。 那麼如何選擇火鍋店呢?最簡單的肯定是在美團。大眾點評上找一找啊。所以,本文就從大眾點評上爬取了成都的火鍋資料,來進行了分析。   &nbs

從前輩的哪裡用python了日本的愛情電影打包帶走趕緊跑

小編知道前輩一直的很節省,但是小編不知道前輩看電影裡面的人物也怎麼節省,都沒有錢去買衣服穿,連叫聲的那麼悽慘你,那真的是可憐呀!所以小編決定要做好事不留名的方法,把前輩電影裡面的演員穿上衣服。所以第一步就是怎麼從前輩哪裡爬取到電影,再偷偷的換了。哈哈哈 我佛慈悲。Tokyo真的有那麼hot?

Python鬥魚的彈幕看看奇葩網友都說了些什麽

run 重要 技術 直接 執行 number encoding noop 一段 0.前言 前幾天(寒假前咯)閑著無聊,看到舍友們都在看鬥魚TV,雖然我對那些網絡遊戲都不是非常感興趣,但是我突然間想到,如果我可以獲取上面的彈幕內容,不就有點意思了麽? 1.分析階段 如果我想要

Python鬥魚的彈幕看看奇葩網友都說了些什麼

0.前言 前幾天(寒假前咯)閒著無聊,看到舍友們都在看鬥魚TV,雖然我對那些網路遊戲都不是非常感興趣,但是我突然間想到,如果我可以獲取上面的彈幕內容,不就有點意思了麼? 1.分析階段 如果我想要抓取網頁上面的東西,無非就是兩種方法 使用瀏覽器,手工(自己點選)或者非手工(

1] python 微信好友個性簽名生成詞雲

在Anaconda下完成,參考https://blog.csdn.net/zhonglixianyun/article/details/78229782結果圖:1. 需要的庫  numpy, os,  itchat, wordcloud, jieba, 1) 安裝itchat

python美團--鮮花商家資訊設定代理池

代理池設定: 這裡代理ip從快代理那獲取,新使用者有4小時免費測試時間。從http://dps.kdlapi.com/api/getdps/中獲取我們的ip代理池,根據使用者名稱密碼最後生成proxy_auth代理池。 proxy_auth = [] usernam

Python新浪微信評論瞭解一下

環境: Python3 + windows。 開發工具:Anaconda + Jupyter / VS Code/pycharm/sublime等等都可以(你開心就好) 學習效果: 認識爬蟲 / Robots協議 瞭解瀏覽器開發者工具 動態載入頁面

Python淘寶頁面的資料包含商品名字價格及地址

作業系統:Windows7專業版 Python版本:3.6.4 ide:PyCharm Community Edition 4.0.4 程式碼如下: # -*- coding:utf-8 -*- __author__ = 'zengqiang.wang' import

我用Python網易雲音樂上的Hip-hop歌單分析rapper如何押韻

line gone 謠言 大致 -i 態度 大眾 其中 當前 緣起 《中國有嘻哈》這個節目在這個夏天吸引了無數的目光,也讓嘻哈走進了大眾的視野。作為我今年看的唯一一個綜藝節目,它對我的影響也蠻大。這個夏天,我基本都在杭州度過,在上下班的taxi上,我幾乎都在刷這個節目,最後

Python協程妹子圖(內有福利你懂得~)

split 基本 保存文件 切換 代碼執行 怎麽辦 什麽 head .cn 項目說明:   1、項目介紹     本項目使用Python提供的協程+scrapy中的選擇器的使用(相當好用)實現爬取妹子圖的(福利圖)圖片,這個學會了,某榴什麽的、pow(2, 10)是吧!

利用python點小圖片滿足私欲(爬蟲)

.text write ret append jpg use download div pat import requestsimport reimport os,syslinks=[]titles=[] headers = { "User-Agent": "Mozi

Python 美女圖片分目錄多級存儲

port Language resp pac rst apt itl album domain 最近有個需求:下載https://mm.meiji2.com/網站的圖片。 所以簡單研究了一下爬蟲。 在此整理一下結果,一為自己記錄,二給後人一些方向。 爬取結果如圖:

我用 Python 微信好友最後發現一個大秘密

代碼 我們 同學 strong 分享 簽名 ast ron tps 前言 你身處的環境是什麽樣,你就會成為什麽樣的人。現在人們日常生活基本上離不開微信,但微信不單單是一個即時通訊軟件,微信更像是虛擬的現實世界。你所處的朋友圈是怎麽樣,慢慢你的思想也會變的怎麽樣。最近在學習

python爬蟲-20行代碼王者榮耀所有英雄圖片小白也輕輕松松

需要 tis tca wcf 爬取 html eas request 有用 1.環境 python3.6 需要用到的庫: re、os、requests 2.簡介 王者榮耀可以算得上是比較受歡迎的手遊之一了,應該有不少的人都入坑過農藥,我們今天的目的就是要爬取王者榮耀的高

Python全書網小說免費看小說

tle 3.6 tro con fin 保存 get 正在 url地址 什麽是網絡爬蟲 網絡爬蟲(又被稱為網頁蜘蛛,網絡機器人,在FOAF社區中間,更經常的稱為網頁追逐者),是一種按照一定的規則,自動地抓取萬維網信息的程序或者腳本。另外一些不常使用的名字還有螞蟻、自

沒有內涵段子可以刷了利用Python段友之家貼吧圖片和小視頻(含源碼)

python 興趣 爬蟲 職業 由於最新的視頻整頓風波,內涵段子APP被迫關閉,廣大段友無家可歸,但是最近發現了一個“段友”的app,版本更新也挺快,正在號召廣大段友回家,如下圖,有興趣的可以下載看看(ps:我不是打廣告的,沒收廣告費的) 同時,之前同事也發了一個貼吧的段子聚居地,客官稍等,馬