- Python爬虫:高效获取1688商品详情的实战指南
数据小爬虫@
python爬虫开发语言
在电商行业,数据是商家制定策略、优化运营的核心资源。1688作为国内领先的B2B电商平台,拥有海量的商品信息。通过Python爬虫技术,我们可以高效地获取这些商品详情数据,为商业决策提供有力支持。一、为什么选择Python爬虫?Python以其简洁易读的语法和强大的库支持,成为爬虫开发的首选语言之一。利用Python爬虫,可以快速实现从1688平台获取商品详情的功能,包括商品标题、价格、图片、描述
- python模块triton安装教程
2401_85863780
1024程序员节tritonwhl
Triton是一个用于高性能计算的开源库,特别适用于深度学习和科学计算。通过预编译的whl文件安装Triton可以简化安装过程,尤其是在编译时可能会遇到依赖问题的情况下。以下是详细的安装步骤:安装前准备:Python环境:确保已经安装了Python,并且Python版本与whl文件兼容。pip:确保已经安装了pip,这是Python的包管理器,用来安装外部库。下载whl文件:从可靠的来源下载适用于
- python模块mediapipe安装教程
2401_85863780
python开发语言mediapipe
安装MediaPipe通过.whl文件的方法与安装其他Python库相似。下面是详细的步骤,指导你如何通过.whl文件安装MediaPipe。1.确认Python和pip已经安装首先,确保你的系统上已经安装了Python和pip。你可以通过打开命令行(对于Windows用户,这可以是CMD或PowerShell;对于macOS和Linux用户,这可以是终端)并运行以下命令来检查:python--v
- 【whl文件】python各版本whl下载地址汇总
2401_85863780
pythonlinux开发语言
whl文件,全称为wheel文件,是Python分发包的一种标准格式。它是预编译的二进制包,包含了Python模块的压缩形式(如.py文件和编译后的.pyd文件)以及这些模块的元数据,通常通过Zip压缩算法进行压缩。whl文件的出现,使得Python包的安装过程变得更为简单和高效,因为它允许用户快速安装Python包及其依赖项,而无需从源代码开始编译。此外,whl文件还具有良好的跨平台兼容性,可以
- Ubuntu下 Python 版本切换
Tobey袁
Ubuntushellubuntulinux
在Ubuntu的开发环境下,由于Python2和Python3很多不兼容,经常会需要我们手动切换Python版本。sudoupdate-alternatives--install/usr/bin/pythonpython/usr/bin/python2100sudoupdate-alternatives--install/usr/bin/pythonpython/usr/bin/python315
- python中set的用法_Python中set的用法
weixin_39876645
python中set的用法
python的集合类型和其他语言类似,是一个无序不重复元素集,我在之前学过的其他的语言好像没有见过这个类型,基本功能包括关系测试和消除重复元素.集合对象还支持union(联合),intersection(交),difference(差)和sysmmetricdifference(对称差集)等数学运算,和我们初中数学学的集合的非常的相似。1先看下python集合类型的不重复性,这方面做一些去重处理非
- python set用法小结
Super_Meredith
pandasset
1.创建集合set()>>>set('python'){'o','p','h','n','t','y'}>>>set(['python']){'python'}#去重>>>list1=[11,11,12,13,14,14,15]>>>set(list1){11,12,13,14,15}2.添加add(),update()#add():把传入的元素做为一个整体添加到集合中>>>set1=set('p
- python 集合概念set用法
shuwenting
python基础
Python中set的用法python的集合类型和其他语言类似,是一个无序不重复元素集,我在之前学过的其他的语言好像没有见过这个类型,基本功能包括关系测试和消除重复元素.集合对象还支持union(联合),intersection(交),difference(差)和sysmmetricdifference(对称差集)等数学运算,和我们初中数学学的集合的非常的相似。1先看下python集合类型的不重复
- python set operation
screaming
PythonSet
Setcanbeconvertedtolistbylist(set)add(elem)¶Addelementelemtotheset.remove(elem)Removeelementelemfromtheset.RaisesKeyErrorifelemisnotcontainedintheset.discard(elem)Removeelementelemfromthesetifitispres
- Python Web开发记录 Day12:Django part6 用户登录
Code_流苏
#---PythonWeb开发---#Django项目探索实验室python前端django
名人说:东边日出西边雨,道是无晴却有晴。——刘禹锡《竹枝词》创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder)目录1、登录界面2、用户名密码校验3、cookie与session配置①cookie与session②配置4、登录验证5、注销登录6、图片验证码①Pillow库②图片验证码的实现7、补充:图片验证码的作用和扩展①作用②其他类型的验证码8、验证码校验在上一篇博客中我们实现
- Ubuntu中如何使用pip切换不同的python版本建立虚拟环境
挪威的深林
【Linux】操作命令linux问题python教程pipvirtualenvpython
一.前言最近遇到非常头疼的问题,在ubuntu中运行不同的项目或者downloadgithub的项目时,总是需要不同版本的python,不同版本的pkgs.因此,为不同的项目建立各自的虚拟环境是一个比较方便的事情.对于建立虚拟环境,目前本人所掌握的主要是conda,以及pip,如果使用conda去建立虚拟环境,则需要安装anaconda,或则minianaconda.在安装anaconda后才能够
- 代码随想录day3
mvufi
python开发语言
203.移除链表元素虚拟头结点:增加删除都很容易python不用new,直接=ListNode(...)#Definitionforsingly-linkedlist.#classListNode:#def__init__(self,val=0,next=None):#self.val=val#self.next=nextclassSolution:defremoveElements(self,h
- [LeetCode-Python版]Hot100(2/100)——128. 最长连续序列
古希腊掌管学习的神
LeetCode-Pythonleetcodepython算法
题目给定一个未排序的整数数组nums,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。请你设计并实现时间复杂度为O(n)的算法解决此问题。示例1:输入:nums=[100,4,200,1,3,2]输出:4解释:最长数字连续序列是[1,2,3,4]。它的长度为4。示例2:输入:nums=[0,3,7,2,5,8,4,6,0,1]输出:9题目链接思路因为题目要求O(n)的时间复杂度,所以
- [LeetCode-Python版]Hot100(1/100)——49. 字母异位词分组
古希腊掌管学习的神
LeetCode-Pythonleetcodepython算法
题目给你一个字符串数组,请你将字母异位词组合在一起。可以按任意顺序返回结果列表。字母异位词是由重新排列源单词的所有字母得到的一个新单词。示例1:输入:strs=[“eat”,“tea”,“tan”,“ate”,“nat”,“bat”]输出:[[“bat”],[“nat”,“tan”],[“ate”,“eat”,“tea”]]示例2:输入:strs=[“”]输出:[[“”]]示例3:输入:strs=
- ubuntu系统切换python版本的方法
lkasi
Ubuntuubuntulinux运维
1.查看所有的python版本终端输入ls/usr/bin/python*结果2.切换版本终端输入sudoupdate-alternatives--configpython结果输入对应的选择编号即可切换python版本
- python版本升级
HiSiri~
pythonpython开发语言
python版本升级背景在对centos机器升级Python版本从3.6到3.10后,pip安装出现了一些问题[解决pipisconfiguredwithlocationsthatrequireTLS/SSL问题]操作下载在官方主站找到合适的版本,并下载https://www.python.org/ftp/python/wgethttps://www.python.org/ftp/python/3
- Python集合之set()使用方法详解
lmseo5hy
python培训python集合
set是一个无序且不重复的元素集合,它有可变集合(set())和不可变集合(frozenset)两种,可以对set()集合进行创建、添加、删除、交集、并集和差集的操作,非常实用,以下是具体用法:一、创建集合setpythonset类是在python的sets模块中,新的python版本可以直接创建集合,不需要导入sets模块。具体用法:1.set('old')2.set(‘o’,’l’,’d’)二
- [LeetCode-Python版]动态规划——0-1背包和完全背包问题总结
古希腊掌管学习的神
LeetCode-Pythonleetcodepython动态规划
0-1背包有n个物品,第i个物品的体积为wiw_iwi,价值为viv_ivi,每个物品至多选一个,求体积和不超过capacity时的最大价值和状态转移:dfs(i,c)=max(dfs(i−1,c),dfs(i−1,c−w[i])+v[i]dfs(i,c)=max(dfs(i-1,c),dfs(i-1,c-w[i])+v[i]dfs(i,c)=max(dfs(i−1,c),dfs(i−1,c−w[
- ipykernel-4.10.0-py2-none-any.whl文件解析与安装指南
嗹国学长
本文还有配套的精品资源,点击获取简介:PyPI是Python的软件包仓库,本篇将解析一个特定Python包——ipykernel的4.10.0版本。ipykernel是Jupyter项目的核心组件,用于创建和运行交互式Python内核。本指南将介绍其功能、特点和安装过程,并强调其在跨语言支持、异步I/O处理、调试和交互式通信等方面的重要性。用户可通过pip安装该版本,以支持Python2环境中的J
- [解决ERROR]VScode中运行ipynb文件报错缺少ipykernel
又困又爱睡
vscodejupyter
[解决ERROR]VScode中运行ipynb文件报错缺少ipykernel1.在VScode中添加jupyter插件2.建议大家安装python版本目前不要大于3.93.在环境中安装jupyter的包,同时会帮我们下载好ipykernel的包4.如果你不幸发现自己的pyzmq包已经下载且版本是23.3.1或以上版本导致FailedtostarttheKernel5.结语前言:最近帮大家配置ana
- python字典的嵌套
计算机小白的爬坑之路
python基础python
字典嵌套及打印题目:城市创建一个名为cities的字典,其中将三个城市名用作键;对于每座城市,都创建一个字典,并在其中包含该城市所属的国家、人口约数以及一个有关该城市的事实。在表示每座城市的字典中,应包含country、population和fact等键。将每座城市的名字以及有关它们的信息都打印出来。代码如下所示:cities={'北京':{'country':'China','populatio
- w224疫情管理系统设计与实现
卓怡学长
计算机毕业设计javaspringspringboot数据库intellij-idea
作者简介:多年一线开发工作经验,原创团队,分享技术代码帮助学生学习,独立完成自己的网站项目。代码可以查看文章末尾⬇️联系方式获取,记得注明来意哦~赠送计算机毕业设计600个选题excel文件,帮助大学选题。赠送开题报告模板,帮助书写开题报告。作者完整代码目录供你选择:《Springboot网站项目》400套《ssm网站项目》800套《小程序项目》300套《App项目》500套《Python网站项目
- Python:字典嵌套
lcqin111
python
可以在列表中嵌套字典、在字典中嵌套列表甚至在字典中嵌套字典alien_0={'color':'green','points':5}alien_1={'color':'yellow','points':10}alien_2={'color':'red','points':15}aliens=[alien_0,alien_1,alien_2]foralieninaliens:print(alien)这
- Conda添加新的Kernel
_TFboy
condapython开发语言
官方说明:https://ipython.readthedocs.io/en/stable/install/kernel_install.html要向Conda添加一个新的内核(kernel),你可以按照以下步骤进行操作:确保你已经激活了你想要添加内核的Conda环境。运行以下命令激活环境:condaactivateyour_environment_name将“your_environment_n
- 探索IPykernel:Python交互式计算的核心引擎
解然嫚Keegan
探索IPykernel:Python交互式计算的核心引擎项目地址:https://gitcode.com/gh_mirrors/ip/ipykernel是一个开放源代码项目,它是IPythonNotebook和JupyterNotebook背后的驱动力,使得在Python环境中进行交互式计算成为可能。本文将带你深入了解IPykernel的技术特性、应用及优势,引导你更有效地利用它提升开发效率。项目
- 【20天快速掌握Python】day20-手动搭建HTTP服务器
菜鸟进阶站
Python后端开发编程pythonhttp服务器
演示代码: importre importsocket frommultiprocessingimportProcess classWSGIServer(): def__init__(self,server,port,root): self.server=server self.port=port self.root=root self.server_s
- 【20天快速掌握Python】day18-进程
菜鸟进阶站
Python编程后端开发python前端javascript
进程程序:例如xxx.py这是程序,是一个静态的。进程:一个程序运行起来后,代码+用到的资源称之为进程,它是操作系统分配资源的基本单元。不仅可以通过线程完成多任务,进程也是可以的。进程的状态工作中,任务数往往大于cpu的核数,即一定有一些任务正在执行,而另外一些任务在等待cpu进行执行,因此导致了有了不同的状态。就绪态:运行的条件都已经满足,正在等在cpu执行。执行态:cpu正在执行其功能。等待态
- 【20天快速掌握Python】day17-线程
菜鸟进阶站
Python编程后端开发python前端java
1.线程安全问题1.1线程访问全局变量importthreadingg_num=0deftest(n):globalg_numforxinrange(n):g_num+=xg_num-=xprint(g_num)if__name__=='__main__':t1=threading.Thread(target=test,args=(10,))t2=threading.Thread(target=t
- 【20天快速掌握Python】day08-高阶函数
菜鸟进阶站
Python编程后端开发python开发语言numpy
1.递归函数什么是递归函数?如果一个函数在内部不调用其它的函数,而是自己本身的话,这个函数就是递归函数。递归函数的作用举个例子,我们来计算阶乘n!=1*2*3*...*n解决办法1:使用循环来完成 defcal(num): result,i=1,1 whilei函数对应的数据类型是function,可以把它当做是一种复杂的数据类型。既然同样都是一种数据类型,我们就可以把它当做数字或者字符串
- 【20天快速掌握Python】day09-模块和包
菜鸟进阶站
Python编程后端开发python开发语言前端
1.Python中的模块在Python中有一个概念叫做模块(module)。说的通俗点:模块就好比是工具包,要想使用这个工具包中的工具(就好比函数),就需要导入这个模块比如我们经常使用工具random,就是一个模块。使用importrandom导入工具之后,就可以使用random的函数。导入模块有五种方式import模块名from模块名import功能名from模块名import*import模块
- java短路运算符和逻辑运算符的区别
3213213333332132
java基础
/*
* 逻辑运算符——不论是什么条件都要执行左右两边代码
* 短路运算符——我认为在底层就是利用物理电路的“并联”和“串联”实现的
* 原理很简单,并联电路代表短路或(||),串联电路代表短路与(&&)。
*
* 并联电路两个开关只要有一个开关闭合,电路就会通。
* 类似于短路或(||),只要有其中一个为true(开关闭合)是
- Java异常那些不得不说的事
白糖_
javaexception
一、在finally块中做数据回收操作
比如数据库连接都是很宝贵的,所以最好在finally中关闭连接。
JDBCAgent jdbc = new JDBCAgent();
try{
jdbc.excute("select * from ctp_log");
}catch(SQLException e){
...
}finally{
jdbc.close();
- utf-8与utf-8(无BOM)的区别
dcj3sjt126com
PHP
BOM——Byte Order Mark,就是字节序标记 在UCS 编码中有一个叫做"ZERO WIDTH NO-BREAK SPACE"的字符,它的编码是FEFF。而FFFE在UCS中是不存在的字符,所以不应该出现在实际传输中。UCS规范建议我们在传输字节流前,先传输 字符"ZERO WIDTH NO-BREAK SPACE"。这样如
- JAVA Annotation之定义篇
周凡杨
java注解annotation入门注释
Annotation: 译为注释或注解
An annotation, in the Java computer programming language, is a form of syntactic metadata that can be added to Java source code. Classes, methods, variables, pa
- tomcat的多域名、虚拟主机配置
g21121
tomcat
众所周知apache可以配置多域名和虚拟主机,而且配置起来比较简单,但是项目用到的是tomcat,配来配去总是不成功。查了些资料才总算可以,下面就跟大家分享下经验。
很多朋友搜索的内容基本是告诉我们这么配置:
在Engine标签下增面积Host标签,如下:
<Host name="www.site1.com" appBase="webapps"
- Linux SSH 错误解析(Capistrano 的cap 访问错误 Permission )
510888780
linuxcapistrano
1.ssh -v hdfs@192.168.18.133 出现
Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).
错误
运行状况如下:
OpenSSH_5.3p1, OpenSSL 1.0.1e-fips 11 Feb 2013
debug1: Reading configuratio
- log4j的用法
Harry642
javalog4j
一、前言: log4j 是一个开放源码项目,是广泛使用的以Java编写的日志记录包。由于log4j出色的表现, 当时在log4j完成时,log4j开发组织曾建议sun在jdk1.4中用log4j取代jdk1.4 的日志工具类,但当时jdk1.4已接近完成,所以sun拒绝使用log4j,当在java开发中
- mysql、sqlserver、oracle分页,java分页统一接口实现
aijuans
oraclejave
定义:pageStart 起始页,pageEnd 终止页,pageSize页面容量
oracle分页:
select * from ( select mytable.*,rownum num from (实际传的SQL) where rownum<=pageEnd) where num>=pageStart
sqlServer分页:
- Hessian 简单例子
antlove
javaWebservicehessian
hello.hessian.MyCar.java
package hessian.pojo;
import java.io.Serializable;
public class MyCar implements Serializable {
private static final long serialVersionUID = 473690540190845543
- 数据库对象的同义词和序列
百合不是茶
sql序列同义词ORACLE权限
回顾简单的数据库权限等命令;
解锁用户和锁定用户
alter user scott account lock/unlock;
//system下查看系统中的用户
select * dba_users;
//创建用户名和密码
create user wj identified by wj;
identified by
//授予连接权和建表权
grant connect to
- 使用Powermock和mockito测试静态方法
bijian1013
持续集成单元测试mockitoPowermock
实例:
package com.bijian.study;
import static org.junit.Assert.assertEquals;
import java.io.IOException;
import org.junit.Before;
import org.junit.Test;
import or
- 精通Oracle10编程SQL(6)访问ORACLE
bijian1013
oracle数据库plsql
/*
*访问ORACLE
*/
--检索单行数据
--使用标量变量接收数据
DECLARE
v_ename emp.ename%TYPE;
v_sal emp.sal%TYPE;
BEGIN
select ename,sal into v_ename,v_sal
from emp where empno=&no;
dbms_output.pu
- 【Nginx四】Nginx作为HTTP负载均衡服务器
bit1129
nginx
Nginx的另一个常用的功能是作为负载均衡服务器。一个典型的web应用系统,通过负载均衡服务器,可以使得应用有多台后端服务器来响应客户端的请求。一个应用配置多台后端服务器,可以带来很多好处:
负载均衡的好处
增加可用资源
增加吞吐量
加快响应速度,降低延时
出错的重试验机制
Nginx主要支持三种均衡算法:
round-robin
l
- jquery-validation备忘
白糖_
jquerycssF#Firebug
留点学习jquery validation总结的代码:
function checkForm(){
validator = $("#commentForm").validate({// #formId为需要进行验证的表单ID
errorElement :"span",// 使用"div"标签标记错误, 默认:&
- solr限制admin界面访问(端口限制和http授权限制)
ronin47
限定Ip访问
solr的管理界面可以帮助我们做很多事情,但是把solr程序放到公网之后就要限制对admin的访问了。
可以通过tomcat的http基本授权来做限制,也可以通过iptables防火墙来限制。
我们先看如何通过tomcat配置http授权限制。
第一步: 在tomcat的conf/tomcat-users.xml文件中添加管理用户,比如:
<userusername="ad
- 多线程-用JAVA写一个多线程程序,写四个线程,其中二个对一个变量加1,另外二个对一个变量减1
bylijinnan
java多线程
public class IncDecThread {
private int j=10;
/*
* 题目:用JAVA写一个多线程程序,写四个线程,其中二个对一个变量加1,另外二个对一个变量减1
* 两个问题:
* 1、线程同步--synchronized
* 2、线程之间如何共享同一个j变量--内部类
*/
public static
- 买房历程
cfyme
2015-06-21: 万科未来城,看房子
2015-06-26: 办理贷款手续,贷款73万,贷款利率5.65=5.3675
2015-06-27: 房子首付,签完合同
2015-06-28,央行宣布降息 0.25,就2天的时间差啊,没赶上。
首付,老婆找他的小姐妹接了5万,另外几个朋友借了1-
- [军事与科技]制造大型太空战舰的前奏
comsci
制造
天气热了........空调和电扇要准备好..........
最近,世界形势日趋复杂化,战争的阴影开始覆盖全世界..........
所以,我们不得不关
- dateformat
dai_lm
DateFormat
"Symbol Meaning Presentation Ex."
"------ ------- ------------ ----"
"G era designator (Text) AD"
"y year
- Hadoop如何实现关联计算
datamachine
mapreducehadoop关联计算
选择Hadoop,低成本和高扩展性是主要原因,但但它的开发效率实在无法让人满意。
以关联计算为例。
假设:HDFS上有2个文件,分别是客户信息和订单信息,customerID是它们之间的关联字段。如何进行关联计算,以便将客户名称添加到订单列表中?
&nbs
- 用户模型中修改用户信息时,密码是如何处理的
dcj3sjt126com
yii
当我添加或修改用户记录的时候对于处理确认密码我遇到了一些麻烦,所有我想分享一下我是怎么处理的。
场景是使用的基本的那些(系统自带),你需要有一个数据表(user)并且表中有一个密码字段(password),它使用 sha1、md5或其他加密方式加密用户密码。
面是它的工作流程: 当创建用户的时候密码需要加密并且保存,但当修改用户记录时如果使用同样的场景我们最终就会把用户加密过的密码再次加密,这
- 中文 iOS/Mac 开发博客列表
dcj3sjt126com
Blog
本博客列表会不断更新维护,如果有推荐的博客,请到此处提交博客信息。
本博客列表涉及的文章内容支持 定制化Google搜索,特别感谢 JeOam 提供并帮助更新。
本博客列表也提供同步更新的OPML文件(下载OPML文件),可供导入到例如feedly等第三方定阅工具中,特别感谢 lcepy 提供自动转换脚本。这里有导入教程。
- js去除空格,去除左右两端的空格
蕃薯耀
去除左右两端的空格js去掉所有空格js去除空格
js去除空格,去除左右两端的空格
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>&g
- SpringMVC4零配置--web.xml
hanqunfeng
springmvc4
servlet3.0+规范后,允许servlet,filter,listener不必声明在web.xml中,而是以硬编码的方式存在,实现容器的零配置。
ServletContainerInitializer:启动容器时负责加载相关配置
package javax.servlet;
import java.util.Set;
public interface ServletContainer
- 《开源框架那些事儿21》:巧借力与借巧力
j2eetop
框架UI
同样做前端UI,为什么有人花了一点力气,就可以做好?而有的人费尽全力,仍然错误百出?我们可以先看看几个故事。
故事1:巧借力,乌鸦也可以吃核桃
有一个盛产核桃的村子,每年秋末冬初,成群的乌鸦总会来到这里,到果园里捡拾那些被果农们遗落的核桃。
核桃仁虽然美味,但是外壳那么坚硬,乌鸦怎么才能吃到呢?原来乌鸦先把核桃叼起,然后飞到高高的树枝上,再将核桃摔下去,核桃落到坚硬的地面上,被撞破了,于是,
- JQuery EasyUI 验证扩展
可怜的猫
jqueryeasyui验证
最近项目中用到了前端框架-- EasyUI,在做校验的时候会涉及到很多需要自定义的内容,现把常用的验证方式总结出来,留待后用。
以下内容只需要在公用js中添加即可。
使用类似于如下:
<input class="easyui-textbox" name="mobile" id="mobile&
- 架构师之httpurlconnection----------读取和发送(流读取效率通用类)
nannan408
1.前言.
如题.
2.代码.
/*
* Copyright (c) 2015, S.F. Express Inc. All rights reserved.
*/
package com.test.test.test.send;
import java.io.IOException;
import java.io.InputStream
- Jquery性能优化
r361251
JavaScriptjquery
一、注意定义jQuery变量的时候添加var关键字
这个不仅仅是jQuery,所有javascript开发过程中,都需要注意,请一定不要定义成如下:
$loading = $('#loading'); //这个是全局定义,不知道哪里位置倒霉引用了相同的变量名,就会郁闷至死的
二、请使用一个var来定义变量
如果你使用多个变量的话,请如下方式定义:
. 代码如下:
var page
- 在eclipse项目中使用maven管理依赖
tjj006
eclipsemaven
概览:
如何导入maven项目至eclipse中
建立自有Maven Java类库服务器
建立符合maven代码库标准的自定义类库
Maven在管理Java类库方面有巨大的优势,像白衣所说就是非常“环保”。
我们平时用IDE开发都是把所需要的类库一股脑的全丢到项目目录下,然后全部添加到ide的构建路径中,如果用了SVN/CVS,这样会很容易就 把
- 中国天气网省市级联页面
x125858805
级联
1、页面及级联js
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
&l