python爬虫教程:requests库

python爬虫教程:requests库

一、前言:

​ 大家好,我是小白菜,从现在开始为大家带来爬虫教程的分享。今天的主题是requests库的学习与使用。觉得写的还不错的朋友们可以点点赞支持,谢谢。

二、requests库:

这里在前面补充说明一点,有一个网站,在我们测试代码的时候比较常用,因为这个网站返回的信息可以让我们清楚的意识到自己的爬虫加了什么参数,返回了什么内容。这个网站就是:http://httpbin.org/

1.基本介绍:

​ 以下为个人理解,requests库是第三方库,需要大家自行安装。而requests库相比于python自带的请求库urllib方便了许多,许多复杂的方式都被简化了。好的,下面开始我们的真正的学习。

2.请求方式:

1>GET请求:

>>> import requests
>>> requests.get('http://www.baidu.com')
# 返回结果:  , 200代表请求成功

参数讲解:

​ get方式有以下几个常用参数:

url : 即网址

headers : 请求头,当我们为了模拟的更像一个真实浏览器时需要指定这个参数

params : 有时候get请求方式需要加入一些参数,比如请求百度搜索时输入的搜索内容就 是待添加的参数。

返回值:

​ 所有的请求都会返回一个对象,我们称之为response,即响应对象。下面对这个对象的常用方法进行讲解:

# 属性一 :  返回请求状态码
response.status_code
# 属性二 :  返回响应的内容,即网页html代码,requests库会采取自己的解码方式去解码
response.text
# 属性三 :  返回响应的内容,以最原始的状态返回
response.content
# 属性四 : 返回cookie
response.cookies
# 属性五 : 返回url
response.url
# 方法一 : 返回json格式的响应内容,如果服务器返回的内容是json格式的话,以这种方式获取的内容更方便处理
response.json()

示例:

​ 不添加headers和params参数:

import requests
#下面的网页是专门用于测试用的,可以方便的查看是否请求成功
response = requests.get('http://httpbin.org/get')
print(response.status_code)
print(response.url)
print(response.content)  #这里打印的为butes类型
print(response.text)    #这里为str类型

#结果如下:
'''
200
http://httpbin.org/get
b'{\n  "args": {}, \n  "headers": {\n    "Accept": "*/*", \n    "Accept-Encoding": "gzip, deflate", \n    "Host": "httpbin.org", \n    "User-Agent": "python-requests/2.24.0", \n    "X-Amzn-Trace-Id": "Root=1-5fb8aa07-5cfe678714dfd2992acd04c1"\n  }, \n  "origin": "125.33.163.108", \n  "url": "http://httpbin.org/get"\n}\n'
{
  "args": {}, 
  "headers": {
    "Accept": "*/*", 
    "Accept-Encoding": "gzip, deflate", 
    "Host": "httpbin.org", 
    "User-Agent": "python-requests/2.24.0", 
    "X-Amzn-Trace-Id": "Root=1-5fb8aa07-5cfe678714dfd2992acd04c1"
  }, 
  "origin": "125.33.163.108", 
  "url": "http://httpbin.org/get"
}
'''

​ 添加headers参数于params参数

import requests
response = requests.get('http://httpbin.org/get',params={
     'hello':'hi'},headers={
     'User-Agent':'hello'})
print(response.text)

'''
{
  "args": {		#这里是传入的参数
    "hello": "hi"
  }, 
  "headers": {		#这个是headers
    "Accept": "*/*", 
    "Accept-Encoding": "gzip, deflate", 
    "Host": "httpbin.org", 
    "User-Agent": "hello", 
    "X-Amzn-Trace-Id": "Root=1-5fb8ab11-52500a56124ac09650847c13"
  }, 
  "origin": "125.33.163.108", 
  "url": "http://httpbin.org/get?hello=hi"
}
'''

2>post请求方式:

​ post请求方式的使用方法同get,唯一不同之处在于get中增加参数为params,而post中为data,具体的可以体验下面的示例:

​ 不增加任何参数

import requests
response = requests.post('http://httpbin.org/post')
print(response.text)
'''
{
  "args": {}, 
  "data": "", 
  "files": {}, 
  "form": {}, 
  "headers": {
    "Accept": "*/*", 
    "Accept-Encoding": "gzip, deflate", 
    "Content-Length": "0", 
    "Host": "httpbin.org", 
    "User-Agent": "python-requests/2.24.0", 
    "X-Amzn-Trace-Id": "Root=1-5fb8ab63-4d86988126bf9052699f81f3"
  }, 
  "json": null, 
  "origin": "125.33.163.108", 
  "url": "http://httpbin.org/post"
}
'''

​ 增加相应参数:

import requests
response = requests.post('http://httpbin.org/post',headers={
     'User-Agent':'hello'},data={
     'name':'baicai'})
print(response.text)

'''
{
  "args": {}, 
  "data": "", 
  "files": {}, 
  "form": {		#这里为提交的表单
    "name": "baicai"
  }, 
  "headers": {
    "Accept": "*/*", 
    "Accept-Encoding": "gzip, deflate", 
    "Content-Length": "11", 
    "Content-Type": "application/x-www-form-urlencoded", 
    "Host": "httpbin.org", 
    "User-Agent": "hello", 
    "X-Amzn-Trace-Id": "Root=1-5fb8abae-400b44e547027b991028fbce"
  }, 
  "json": null, 
  "origin": "125.33.163.188", 
  "url": "http://httpbin.org/post"
}
'''

3>其他请求方式:

​ requests库还支持其他的请求方式,当然这些请求方式我们一般都不用,需要用的时候查查官方文档即可。毕竟万变不离其宗,掌握 一个方法,其余的方法都是类似的。

3.文件上传:

​ requests库还支持文件上传,我们知道向服务器发送一些东西,比如说文件或者密码等,用的是post请求,所以实现文件上传功能,也是使用post请求方式。如下:

import requests
respones = requests.post('http://httpbin.org/post',files={
     'file':open('test.txt','rb')})
print(respones.text)

'''
{
  "args": {}, 
  "data": "", 
  "files": {
    "file": "sdaf"		#这个即为文件的内容
  }, 
  "form": {}, 
  "headers": {
    "Accept": "*/*", 
    "Accept-Encoding": "gzip, deflate", 
    "Content-Length": "148", 
    "Content-Type": "multipart/form-data; boundary=54348eccce4fbb7ba96e38b6d6f28e21", 
    "Host": "httpbin.org", 
    "User-Agent": "python-requests/2.24.0", 
    "X-Amzn-Trace-Id": "Root=1-5fb8aeb8-3f9154804719eee64f6eb218"
  }, 
  "json": null, 
  "origin": "125.33.162.161", 
  "url": "http://httpbin.org/post"
}

'''

4.cookies操作:

​ requests库还支持cookie操作。如下:

import requests
response = requests.get('http://www.baidu.com')
print(response.cookies)	#返回的是一个cookie对象,可以采用下面的方式获取内容
for key,value in response.cookies.items():
    print(key,value)

'''
]>
BDORZ 27315
'''

5.会话维持:

1>我们有时候遇见一些网站会强制你登录才能去获取数据。此时你知道想要登录网站需要去使用post方式请求,但是当你请求成功后再用get方式去访问网站,你会发现你被拒绝了,这意味着你的get请求是一个新的请求,而不是在post请求成功后以post为基础的请求。如果你无法理解上面的话,你可以这样理解,一个get就是打开一个浏览器,两个浏览器之间是无法通信的,所以你第二次请求相当于打开一个新的浏览器,自然无法获取内容。

2>如何解决上面的问题呢?requests提供了一个会话对象,即session,只要你使用session去访问,就可以连续访问了。示例如下:

#下面给出的是思路,不是具体的代码,具体的代码还是根据实际案例来讲
import requests

#创建session对象
session = requests.session()
#使用session对象去发送post请求
session.post(.....)     #这里post的用法和requests.post()用法一致
#请求成功后再用session对象去请求只有登录才能访问的页面
response = session.get(....)   #这里post的用法和requests.get()用法一致
#接下来再去操作即可

6.ssl证书:

​ 想必大家观察url,会发现,有的url为http,有的为https,这两者的区别就是https在http的基础上加入了ssl协议,使得信息的传输更加的安全。我们访问一些网站的时候,如果自身电脑爬虫需要检验ssl而导致爬虫失败,这时候就需要在请求的方法里面添加一个verify参数。

​ 如下:(以get方法为例,其他都类似)

import requests

response = requests.get('https://www.baidu.com',verify=False)
print(response.status_code)

7.代理设置:

​ 当我们需要追求效率时,除了可以采用多任务的方式,还有一个方式就是使用代理。比如我们需要下载图片,为了不被网站检测出我们是爬虫,我们不得不牺牲效率,比如说每爬取一张图片就休息一秒钟,这样的效率显然很低。但是一旦我们一秒钟爬取个几百张图片,非常容易被网站检测出这个用户不是一个人,因为真正的人不可能一秒钟下载几百张图片,于是网站便会短时间封禁我们的ip,导致我们无法继续访问,以至于爬虫失效。

​ 这时我们需要代理,这样我们就可以在爬取的时候使用不同的ip地址了。

​ 方法如下:

#下面的代码只给出了格式,并没有给出具体的实现
import requests

proxies = {
     
    'http/https':'http/https:ip:port',
    'http/https':'http/https:ip:port',
    'http/https':'http/https:ip:port',
    'http/https':'http/https:ip:port'
}
requests.get(url,proxies=proxies)

python爬虫教程:requests库_第1张图片

三、requests库实例—爬取内涵段子网站:

​ 这里只分析使用requests库去请求,而不解析页面,因为解析页面需要使用xpath或者re或者pyquery或者selenium等等,而这并不是这篇文章的重点。

1.最初的尝试:

python爬虫教程:requests库_第2张图片

​ 这张图展示的网页就是我们需要请求的网页,网址为:https://www.qiushibaike.com/text/page/1/

​ 好的,一般来说,我们无论请求什么网站,都需要添加headers参数中最为基本的User-Agent参数,但是这里为了给大家演示,先尝试不添加headers参数能否请求成功。

import requests

def main():
    url = 'https://www.qiushibaike.com/text/page/1/'
    #使用get方式请求
    response = requests.get(url)
    if response.status_code == 200:
        print(response.text)
    else:
        print('请求失败')

if __name__ == '__main__':
    main()
    
'''
主要错误信息为:
requests.exceptions.ConnectionError: ('Connection aborted.', RemoteDisconnected('Remote end closed connection without response'))
'''

2.添加headers参数:

​ 显然,一个正常的网站对于这种爬虫都是拒绝的,因为过多的爬虫只会给服务器带来压力。因此对于我们不添加任何参数的爬虫,一下就被识别了。现在我们添加最为基本的headers参数,如下:

import requests

def main():
    url = 'https://www.qiushibaike.com/text/page/1/'
    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'
    }
    response = requests.get(url,headers=headers)
    if response.status_code == 200:
        print(response.text)
    else:
        print('请求失败')![在这里插入图片描述](https://img-blog.csdnimg.cn/20210208123120596.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NjY3NjgzNQ==,size_16,color_FFFFFF,t_70#pic_center)


if __name__ == '__main__':
    main()

'''
#主要结果如下:
UnicodeEncodeError: 'gbk' codec can't encode character '\u200b' in position 7201: illegal multibyte sequence
'''

​ 1>这里先说明下,如何寻找headers参数,首先我们打开浏览器(谷歌或者火狐),点击F12或者点击鼠标右键选择检查,得到下图所示:

python爬虫教程:requests库_第3张图片

​ 接下来按下图操作:

python爬虫教程:requests库_第4张图片

python爬虫教程:requests库_第5张图片
python爬虫教程:requests库_第6张图片

​ 2>其次,分析下为什么会代码中的错误:

上面添加了headers参数请求后打印结果时,报错:

UnicodeEncodeError: 'gbk' codec can't encode character '\u200b' in position 7201: illegal multibyte sequence

上面代码的意思是:gbk编码无法输出\u200b这样的编码文字。在上面我说到以text的方式解码的话,requests会自己采取一定的方式解码,但是这样的解码可能并不符合真正的编码格式,或者网页中本来就有一些特殊的编码是无法打印的。因此,当我们遇见这样的错误的时候,我们可以采取content方式输出内容,因为content本身并不会解码,而是将最原始的内容返回给我们。如下:

import requests

def main():
    url = 'https://www.qiushibaike.com/text/page/1/'
    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'
    }
    response = requests.get(url,headers=headers)
    if response.status_code == 200:
        print(response.content)
    else:
        print('请求失败')

if __name__ == '__main__':
    main()
    
'''
由于长度原因,显示部分结果如下:
b'\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\xe5\xb9\xbd\xe9\xbb\x98\xe7\xac\x91\xe8\xaf\x9d\xe5\xa4\xa7\xe5\x85\xa8_\xe7\x88\x86\xe7\xac\x91\xe7\xac\x91\xe8\xaf\x9d_\xe7\xac\x91\xe7\xa0\xb4\xe4\xbd\xa0\xe7\x9、
'''</span>
</code></pre> 
  <p>​ 这里大家不必担心这些返回内容看不懂,因为我们解析时,对于内容的编码并不是很看重,照样可以处理。当然除了以content方式处理外,还可以替换内容中所有的错误编码,即将无法打印的编码都替换为空格或者其他,替换的方法可以使用replace或者正则。</p> 
  <h3>四、总结:</h3> 
  <p>​ 好的,今天的分享就到此为止了,希望看了这篇文章,你能够写出最为基本的请求代码,并且知道如何获取网页返回的内容,以及遇见编码错误时如何处理(以content输出)。谢谢大家!</p> 
 </div> 
</div>
                            </div>
                        </div>
                    </div>
                    <!--PC和WAP自适应版-->
                    <div id="SOHUCS" sid="1359057485805150208"></div>
                    <script type="text/javascript" src="/views/front/js/chanyan.js"></script>
                    <!-- 文章页-底部 动态广告位 -->
                    <div class="youdao-fixed-ad" id="detail_ad_bottom"></div>
                </div>
                <div class="col-md-3">
                    <div class="row" id="ad">
                        <!-- 文章页-右侧1 动态广告位 -->
                        <div id="right-1" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad">
                            <div class="youdao-fixed-ad" id="detail_ad_1"> </div>
                        </div>
                        <!-- 文章页-右侧2 动态广告位 -->
                        <div id="right-2" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad">
                            <div class="youdao-fixed-ad" id="detail_ad_2"></div>
                        </div>
                        <!-- 文章页-右侧3 动态广告位 -->
                        <div id="right-3" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad">
                            <div class="youdao-fixed-ad" id="detail_ad_3"></div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
    <div class="container">
        <h4 class="pt20 mb15 mt0 border-top">你可能感兴趣的:(爬虫教程,python,爬虫)</h4>
        <div id="paradigm-article-related">
            <div class="recommend-post mb30">
                <ul class="widget-links">
                    <li><a href="/article/1881304982670602240.htm"
                           title="如何安装python3.7.4_银河麒麟安装Python3.7.4以及升级自带OpenSSL" target="_blank">如何安装python3.7.4_银河麒麟安装Python3.7.4以及升级自带OpenSSL</a>
                        <span class="text-muted">weixin_39873191</span>
<a class="tag" taget="_blank" href="/search/%E5%A6%82%E4%BD%95%E5%AE%89%E8%A3%85python3.7.4/1.htm">如何安装python3.7.4</a>
                        <div>银河麒麟安装Python3.7.4以及升级自带OpenSSL升级OpenSSL1.下载opensslwgethttps://www.openssl.org/source/openssl-1.1.1a.tar.gztar-zxvfopenssl-1.1.1a.tar.gzcdopenssl-1.1.1a2.编译安装./config--prefix=/usr/local/opensslno-zlib#</div>
                    </li>
                    <li><a href="/article/1881304855620939776.htm"
                           title="python多进程编程_深入理解python多进程编程" target="_blank">python多进程编程_深入理解python多进程编程</a>
                        <span class="text-muted">weixin_39620001</span>
<a class="tag" taget="_blank" href="/search/python%E5%A4%9A%E8%BF%9B%E7%A8%8B%E7%BC%96%E7%A8%8B/1.htm">python多进程编程</a>
                        <div>1、python多进程编程背景python中的多进程最大的好处就是充分利用多核cpu的资源,不像python中的多线程,受制于GIL的限制,从而只能进行cpu分配,在python的多进程中,适合于所有的场合,基本上能用多线程的,那么基本上就能用多进程。在进行多进程编程的时候,其实和多线程差不多,在多线程的包threading中,存在一个线程类Thread,在其中有三种方法来创建一个线程,启动线程,</div>
                    </li>
                    <li><a href="/article/1881304856182976512.htm"
                           title="python多进程编程实例_Python多进程编程multiprocessing代码实例" target="_blank">python多进程编程实例_Python多进程编程multiprocessing代码实例</a>
                        <span class="text-muted">weixin_39791386</span>
<a class="tag" taget="_blank" href="/search/python%E5%A4%9A%E8%BF%9B%E7%A8%8B%E7%BC%96%E7%A8%8B%E5%AE%9E%E4%BE%8B/1.htm">python多进程编程实例</a>
                        <div>在多线程与多进程的比较这一篇中记录了多进程编程的一种方式.下面记录一下多进程编程的别一种方式,即使用multiprocessing编程importmultiprocessingimporttimedefget_html(n):time.sleep(n)print('subprocess%s'%n)returnnif__name__=='__main__':#多进程编程process=multipr</div>
                    </li>
                    <li><a href="/article/1881304729263337472.htm"
                           title="python打开一个软件并进行操作_模拟试卷 B" target="_blank">python打开一个软件并进行操作_模拟试卷 B</a>
                        <span class="text-muted">weixin_39551611</span>

                        <div>原标题:模拟试卷B一、单项选择题1.关于算法的描述,以下选项中错误的是算法是指解题方案的准确而完整的描述算法具有可行性、确定性、有穷性的基本特征算法的复杂度主要包括时间复杂度和数据复杂度算法的基本要素包括数据对象的运算和操作及算法的控制结构2.关于数据结构的描述,以下选项中正确的是数据结构指相互有关联的数据元素的集合数据的存储结构是指反映数据元素之间逻辑关系的数据结构数据的逻辑结构有顺序、链接、索</div>
                    </li>
                    <li><a href="/article/1881304474748776448.htm"
                           title="python之openpyxl模块" target="_blank">python之openpyxl模块</a>
                        <span class="text-muted">weixin_34248849</span>
<a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/1.htm">数据结构与算法</a><a class="tag" taget="_blank" href="/search/%E6%B5%8B%E8%AF%95/1.htm">测试</a>
                        <div>一.Python操作EXCEL库的简介1.1Python官方库操作excelPython官方库一般使用xlrd库来读取Excel文件,使用xlwt库来生成Excel文件,使用xlutils库复制和修改Excel文件,这三个库只支持到Excel2003。1.2第三方库openpyxl介绍第三方库openpyxl(可读写excel表),专门处理Excel2007及以上版本产生的xlsx文件,xls和x</div>
                    </li>
                    <li><a href="/article/1881300692837134336.htm"
                           title="python使用多进程multiprocessing" target="_blank">python使用多进程multiprocessing</a>
                        <span class="text-muted">小蜗笔记</span>
<a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a>
                        <div>python使用多进程multiprocessing1多进程解释2进程的演示3进程池方法4pool.map()的解析pool.map()的基本用法返回值语法示例注意事项适用场景5pool.join()详解示例注意事项pool.join()的运行逻辑阻塞特性的影响对计算速度的影响示例总结6apply_async(),apply(),和pool.map()`apply_async()`特性:语法:`a</div>
                    </li>
                    <li><a href="/article/1881300693583720448.htm"
                           title="centos下安裝python" target="_blank">centos下安裝python</a>
                        <span class="text-muted">白小白的小白</span>
<a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/centos/1.htm">centos</a>
                        <div>更新系统文件yumupdateyuminstallzlib-develbzip2-developenssl-develncurses-develsqlite-develreadline-develtk-devellibffi-develgccmake下载安装包并解压wgethttps://www.python.org/ftp/python/3.7.6/Python-3.7.6.tar.xztar-</div>
                    </li>
                    <li><a href="/article/1881295388938399744.htm"
                           title="将python文件(.py)打包为可执行文件(.exe)的多种方法,看这一篇就够了,万字教学,全网最全!!!" target="_blank">将python文件(.py)打包为可执行文件(.exe)的多种方法,看这一篇就够了,万字教学,全网最全!!!</a>
                        <span class="text-muted">盲敲代码的阿豪</span>
<a class="tag" taget="_blank" href="/search/python%E5%AE%9E%E7%94%A8%E7%9F%A5%E8%AF%86%E7%82%B9/1.htm">python实用知识点</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E5%8F%AF%E6%89%A7%E8%A1%8C%E7%A8%8B%E5%BA%8F/1.htm">可执行程序</a><a class="tag" taget="_blank" href="/search/%E4%BB%A3%E7%A0%81%E6%89%93%E5%8C%85/1.htm">代码打包</a>
                        <div>文章目录前言1、PyInstaller库的使用(最简单,常用)1.1安装PyInstaller1.2常用参数及使用1.3其它参数(了解)1.4案例演示2、cx_Freeze库的使用2.1安装cx_Freeze2.2创建打包脚本2.3运行打包文件2.4参数说明2.5案例演示3、py2exe库的使用3.1安装py2exe3.2创建打包脚本3.3运行打包文件3.4参数说明3.5案例演示3.6常见问题4、</div>
                    </li>
                    <li><a href="/article/1881295390129582080.htm"
                           title="通过python代码实现向钉钉群内自动推送消息,详细步骤及代码,超实用教学!!!" target="_blank">通过python代码实现向钉钉群内自动推送消息,详细步骤及代码,超实用教学!!!</a>
                        <span class="text-muted">盲敲代码的阿豪</span>
<a class="tag" taget="_blank" href="/search/python%E5%AE%9E%E7%94%A8%E7%9F%A5%E8%AF%86%E7%82%B9/1.htm">python实用知识点</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E9%92%89%E9%92%89/1.htm">钉钉</a><a class="tag" taget="_blank" href="/search/%E8%87%AA%E5%8A%A8%E5%8C%96%E5%8F%91%E6%B6%88%E6%81%AF/1.htm">自动化发消息</a>
                        <div>文章目录前言一、创建钉钉群机器人二、以文本格式发送信息三、以MarkDown格式发送信息四、以Link格式发送信息前言我们在使用钉钉时,通常会创建或加入多个群聊,身为群聊的管理者,当我们需要及时、并按时的向这些群聊推送一些固定信息,若通过人力来解决肯定非常耗时、耗力,这时我们就可以考虑开发一个自动化脚本来实现这个功能,本篇文章我将教会大家,如何使用python开发程序,实现向钉钉群内自动发送消息。</div>
                    </li>
                    <li><a href="/article/1881294381097480192.htm"
                           title="Python3-excel文档操作(二):利用openpyxl库处理excel表格:在excel表格中插入图片" target="_blank">Python3-excel文档操作(二):利用openpyxl库处理excel表格:在excel表格中插入图片</a>
                        <span class="text-muted">liranke</span>
<a class="tag" taget="_blank" href="/search/Python%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/1.htm">Python学习笔记</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/openpyxl/1.htm">openpyxl</a><a class="tag" taget="_blank" href="/search/python%E5%A4%84%E7%90%86excel/1.htm">python处理excel</a><a class="tag" taget="_blank" href="/search/load_workbook/1.htm">load_workbook</a>
                        <div>1.简介excel表中可以插入图片,使用openpyxl库可以实现这个功能。2.代码:#-*-coding:utf-8-*-importosimportsysimporttimeimportopenpyxlfromopenpyxlimportload_workbookfromopenpyxl.drawing.imageimportImagedefopenxls_insert_img(fname,i</div>
                    </li>
                    <li><a href="/article/1881294128252252160.htm"
                           title="基于Python的多元医疗知识图谱构建与应用研究(上)" target="_blank">基于Python的多元医疗知识图谱构建与应用研究(上)</a>
                        <span class="text-muted">Allen_LVyingbo</span>
<a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E5%8C%BB%E7%96%97%E9%AB%98%E6%95%88%E7%BC%96%E7%A8%8B%E7%A0%94%E5%8F%91/1.htm">医疗高效编程研发</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E7%9F%A5%E8%AF%86%E5%9B%BE%E8%B0%B1/1.htm">知识图谱</a><a class="tag" taget="_blank" href="/search/%E5%81%A5%E5%BA%B7%E5%8C%BB%E7%96%97/1.htm">健康医疗</a>
                        <div>一、引言1.1研究背景与意义在当今数智化时代,医疗数据呈爆发式增长,如何高效管理和利用这些数据,成为提升医疗服务质量的关键。传统医疗数据管理方式存在数据孤岛、信息整合困难等问题,难以满足现代医疗对精准诊断和个性化治疗的需求。知识图谱作为一种知识表示和管理技术,为医疗领域带来了新的解决方案。它能够将海量的医疗信息以结构化、语义化的方式组织起来,揭示疾病、症状、药物、治疗方法等实体之间的复杂关系,从而</div>
                    </li>
                    <li><a href="/article/1881292614364360704.htm"
                           title="PostgreSQL - pgvector 插件构建向量数据库并进行相似度查询" target="_blank">PostgreSQL - pgvector 插件构建向量数据库并进行相似度查询</a>
                        <span class="text-muted">花千树-010</span>
<a class="tag" taget="_blank" href="/search/RAG/1.htm">RAG</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a><a class="tag" taget="_blank" href="/search/postgresql/1.htm">postgresql</a><a class="tag" taget="_blank" href="/search/AI%E7%BC%96%E7%A8%8B/1.htm">AI编程</a>
                        <div>在现代的机器学习和人工智能应用中,向量相似度检索是一个非常重要的技术,尤其是在文本、图像或其他类型的嵌入向量的操作中。本文将介绍如何在PostgreSQL中安装pgvector插件,用于存储和检索向量数据,并展示如何通过Python脚本向数据库插入向量并执行相似度查询。一、安装PostgreSQL并配置pgvector插件1.安装PostgreSQL首先,确保你已经安装了PostgreSQL。可以</div>
                    </li>
                    <li><a href="/article/1881292602771304448.htm"
                           title="MoviePy视频编辑和处理Python库的版本问题解决:No module named ‘moviepy.editor‘" target="_blank">MoviePy视频编辑和处理Python库的版本问题解决:No module named ‘moviepy.editor‘</a>
                        <span class="text-muted">封步宇AIGC</span>
<a class="tag" taget="_blank" href="/search/%E6%96%87%E5%AD%97%E9%9F%B3%E9%A2%91%E8%A7%86%E9%A2%91%E8%87%AA%E5%8A%A8%E5%8C%96%E5%B7%A5%E5%85%B7/1.htm">文字音频视频自动化工具</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E9%9F%B3%E8%A7%86%E9%A2%91/1.htm">音视频</a><a class="tag" taget="_blank" href="/search/ffmpeg/1.htm">ffmpeg</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a>
                        <div>MoviePy是一个强大的Python库,用于视频编辑和处理。它支持多种基本操作,如视频剪切、拼接、插入标题,以及更高级的视频合成(非线性编辑)、视频处理和自定义特效创建。MoviePy能够读写包括GIF在内的常见音频和视频格式,并且兼容Windows、Mac和Linux操作系统,支持Python2.7和3.x版本MoviePy基于ffmpeg和ImageMagick,提供了易于使用的API,能够</div>
                    </li>
                    <li><a href="/article/1881291847066775552.htm"
                           title="《CPython Internals》阅读笔记:p177-p220" target="_blank">《CPython Internals》阅读笔记:p177-p220</a>
                        <span class="text-muted">codists</span>
<a class="tag" taget="_blank" href="/search/%E8%AF%BB%E4%B9%A6%E7%AC%94%E8%AE%B0/1.htm">读书笔记</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a>
                        <div>《CPythonInternals》学习第11天,p177-p220总结,总计44页。一、技术总结1.memoryallocationinC(1)staticmemeoryallocationMemoryrequirementsarecalculatedatcompiletimeandallocatedbytheexecutablewhenitstarts.(2)automaticmemeorya</div>
                    </li>
                    <li><a href="/article/1881289579483426816.htm"
                           title="厦门租房信息分析展示(pycharm+python爬虫+pyspark+pyecharts)(踩坑记录)" target="_blank">厦门租房信息分析展示(pycharm+python爬虫+pyspark+pyecharts)(踩坑记录)</a>
                        <span class="text-muted">吃西红柿的鸡蛋</span>
<a class="tag" taget="_blank" href="/search/%E5%A4%A7%E6%95%B0%E6%8D%AE/1.htm">大数据</a><a class="tag" taget="_blank" href="/search/hadoop/1.htm">hadoop</a><a class="tag" taget="_blank" href="/search/spark/1.htm">spark</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a>
                        <div>厦门租房信息分析展示(pycharm+python爬虫+pyspark+pyecharts)(踩坑记录)项目地址http://dblab.xmu.edu.cn/blog/2307/踩坑:Spark分析文件rent_analyse.py改变Spark读取csv文件的写法sparkContext=SparkContext("local","rent_analyse")sqlContext=SQLCon</div>
                    </li>
                    <li><a href="/article/1881288321515188224.htm"
                           title="《CPython Internals》阅读笔记:p250-p284" target="_blank">《CPython Internals》阅读笔记:p250-p284</a>
                        <span class="text-muted"></span>
<a class="tag" taget="_blank" href="/search/python/1.htm">python</a>
                        <div>《CPythonInternals》学习第14天,250-p284总结,总计25页。一、技术总结介于我觉得作者写得乱七八糟的,读完我已经不想说话了,所以今日无技术总结。二、英语总结(生词:2)1.spawn(1)spawn:来自于词根expandere。(2)expandere:ex-("out")+pandere("tospread")spawn原来的意思是“spreadingoutoffish</div>
                    </li>
                    <li><a href="/article/1881286304583446528.htm"
                           title="Python使用moviepy模块编辑视频时,有可能会出现“TypeError: ‘module‘ object is not callable”的错误提示" target="_blank">Python使用moviepy模块编辑视频时,有可能会出现“TypeError: ‘module‘ object is not callable”的错误提示</a>
                        <span class="text-muted">CodeWG</span>
<a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a>
                        <div>Python使用moviepy模块编辑视频时,有可能会出现“TypeError:‘module‘objectisnotcallable”的错误提示。这个错误提示表明在调用函数或方法时,试图调用一个不可被调用的对象。这个问题通常是由于导入moviepy模块时,模块本身并不是可以被调用的对象而导致的。要解决这个问题,我们需要检查代码中导入moviepy模块的语句是否有误。moviepy模块中最常用的类</div>
                    </li>
                    <li><a href="/article/1881285170548502528.htm"
                           title="使用PyCharm运行Python程序" target="_blank">使用PyCharm运行Python程序</a>
                        <span class="text-muted">代码艺术巧匠</span>
<a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/pycharm/1.htm">pycharm</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/Python/1.htm">Python</a>
                        <div>使用PyCharm运行Python程序PyCharm是一种功能强大的Python集成开发环境(IDE),它提供了许多方便的功能来开发、调试和运行Python程序。在本文中,我将向您展示如何使用PyCharm来运行Python程序,并提供相应的源代码示例。步骤1:安装PyCharm首先,您需要从JetBrains官方网站下载并安装PyCharm。根据您的操作系统,选择适合您的版本。安装过程非常简单,</div>
                    </li>
                    <li><a href="/article/1881284905229414400.htm"
                           title="API接口在电商的应用及收益" target="_blank">API接口在电商的应用及收益</a>
                        <span class="text-muted"></span>
<a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF%E5%90%8E%E7%AB%AF%E8%BF%90%E7%BB%B4%E6%95%B0%E6%8D%AE%E6%8C%96%E6%8E%98api/1.htm">前端后端运维数据挖掘api</a>
                        <div>一、API接口在电商的核心应用场景(一)商品数据管理与展示在电商平台,商品信息的准确与实时更新极为关键。借助API接口,能轻松实现商品数据从供应商系统到电商平台的同步。例如,使用Python结合Requests库编写代码,从外部API获取商品数据:importrequestsurl="https://example.com/api/products"response=requests.get(ur</div>
                    </li>
                    <li><a href="/article/1881283659340771328.htm"
                           title="如何使用Java爬虫获取微店商品详情:代码示例与实践指南" target="_blank">如何使用Java爬虫获取微店商品详情:代码示例与实践指南</a>
                        <span class="text-muted">小爬虫程序猿</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E7%88%AC%E8%99%AB/1.htm">爬虫</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a>
                        <div>在电商领域,获取商品详情数据对于商家和开发者来说至关重要。微店作为国内知名的电商平台,提供了丰富的商品数据接口,方便开发者通过API调用获取商品详情。以下将详细介绍如何使用Java爬虫获取微店商品详情,并提供具体的代码示例。一、微店商品详情API接口简介微店提供了商品详情API接口(micro.item.get),用于获取指定商品的详细信息。通过该接口,开发者可以快速获取商品的标题、价格、库存、描</div>
                    </li>
                    <li><a href="/article/1881282776343310336.htm"
                           title="使用Scrapy抓取图片网站的图片:完整教程与实战案例" target="_blank">使用Scrapy抓取图片网站的图片:完整教程与实战案例</a>
                        <span class="text-muted">Python爬虫项目</span>
<a class="tag" taget="_blank" href="/search/2025%E5%B9%B4%E7%88%AC%E8%99%AB%E5%AE%9E%E6%88%98%E9%A1%B9%E7%9B%AE/1.htm">2025年爬虫实战项目</a><a class="tag" taget="_blank" href="/search/scrapy/1.htm">scrapy</a><a class="tag" taget="_blank" href="/search/%E7%88%AC%E8%99%AB/1.htm">爬虫</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E9%9F%B3%E8%A7%86%E9%A2%91/1.htm">音视频</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a><a class="tag" taget="_blank" href="/search/selenium/1.htm">selenium</a>
                        <div>引言在互联网时代,图片已经成为我们生活和工作中不可或缺的一部分。随着社交媒体、电子商务、新闻网站等平台的普及,图片的需求量和使用量不断增加。因此,如何高效、便捷地抓取网站上的图片,成为了许多数据工程师、爬虫开发者以及数据科学家需要解决的问题。Scrapy是Python中一个非常强大且广泛使用的爬虫框架。它不仅提供了强大的抓取能力,还能够轻松地处理大规模数据抓取和高效的数据存储。Scrapy适合处理</div>
                    </li>
                    <li><a href="/article/1881282018919116800.htm"
                           title="银河麒麟v10安装 python 3.12.5版本" target="_blank">银河麒麟v10安装 python 3.12.5版本</a>
                        <span class="text-muted">sageparadise</span>
<a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E9%93%B6%E6%B2%B3%E9%BA%92%E9%BA%9F/1.htm">银河麒麟</a>
                        <div>1、官网下载python3.12.52、安装前检查opensslopensslversion#OpenSSL1.1.1f31Mar2020如果提示openssl1.1.1无需安装openssl,否则需要安装,下载openssltar-zxfopenssl-1.1.1s.tar.gzcdopenssl-1.1.1s/./config-fPIC--prefix=/usr/include/openssl</div>
                    </li>
                    <li><a href="/article/1881275539990310912.htm"
                           title="当ABAP遇见普罗米修斯" target="_blank">当ABAP遇见普罗米修斯</a>
                        <span class="text-muted"></span>

                        <div>Python中的class体内定义方法时,如果没有显式地包含self参数,有时候依然可以被调用。这是一个非常有趣的话题,因为它涉及到对Python中类与对象之间关系的更深理解。要理解为什么这种情况下方法依然能够被调用,我们需要逐步拆解Python类的构造方式以及方法绑定的原理。</div>
                    </li>
                    <li><a href="/article/1881272428894679040.htm"
                           title="ai照片放大python源码_AI新时代-大牛教你使用python+Opencv完成人脸解锁(附源码)..." target="_blank">ai照片放大python源码_AI新时代-大牛教你使用python+Opencv完成人脸解锁(附源码)...</a>
                        <span class="text-muted">weixin_39639505</span>
<a class="tag" taget="_blank" href="/search/ai%E7%85%A7%E7%89%87%E6%94%BE%E5%A4%A7python%E6%BA%90%E7%A0%81/1.htm">ai照片放大python源码</a>
                        <div>好吧,伙计们,我回来了。说我拖更不写文章的可以过来用你的小拳拳狠命地捶我胸口....那么今天我们来讲关于使用python+opencv+face++来实现人脸验证及人脸解锁。代码量同样不多,你可以将这些代码运用在其它一些智能领域,如智能家居,进门的时候判断你是谁,也可以加入机器学习判断来的人是客人还是熟人。在讲之前我们会先适当的拓扑一下关于人脸识别的知识点。OK废话少说下面开始正是话题。解锁原理:</div>
                    </li>
                    <li><a href="/article/1881272176598904832.htm"
                           title="如何用python爬取公众号文章_如何使用 Python 爬取微信公众号文章" target="_blank">如何用python爬取公众号文章_如何使用 Python 爬取微信公众号文章</a>
                        <span class="text-muted">weixin_39524574</span>

                        <div>我比较喜欢看公众号,有时遇到一个感兴趣的公众号时,都会感觉相逢恨晚,想一口气看完所有历史文章。但是微信的阅读体验挺不好的,看历史文章得一页页的往后翻,下一次再看时还得重复操作,很是麻烦。于是便想着能不能把某个公众号所有的文章都保存下来,这样就很方便自己阅读历史文章了。话不多说,下面我就介绍如何使用Python爬取微信公众号所有文章的。主要有以下步骤:1使用Fiddler抓取公众号接口数据2使用Py</div>
                    </li>
                    <li><a href="/article/1881271924399599616.htm"
                           title="做python少儿编程教程-超好玩的Python少儿编程" target="_blank">做python少儿编程教程-超好玩的Python少儿编程</a>
                        <span class="text-muted">weixin_37988176</span>

                        <div>1.作者有14年的计算机培训经验,能抓住青少年的学习心理。2.超过180分钟的视频讲解,可下载也可扫码直接观看。《超好玩的Python少儿编程》是写给青少年读者的编程学习用书,主要通过游戏及作品的实例来讲解Python的编程方法,引导青少年在快乐中学习编程。通过游戏编程实例及有趣的作品,让青少年参与其中,培养他们独立分析问题和解决问题的能力,提高他们的探索精神,为今后进一步深入学习编程打好基础。《</div>
                    </li>
                    <li><a href="/article/1881271039372095488.htm"
                           title="python no module name _lzma,安装/编译pylzma(LZMA Python绑定)" target="_blank">python no module name _lzma,安装/编译pylzma(LZMA Python绑定)</a>
                        <span class="text-muted">蓝精灵国王乄</span>
<a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/no/1.htm">no</a><a class="tag" taget="_blank" href="/search/module/1.htm">module</a><a class="tag" taget="_blank" href="/search/name/1.htm">name</a><a class="tag" taget="_blank" href="/search/_lzma/1.htm">_lzma</a>
                        <div>I'vealreadypostedthisquestionontheauthorswebsite,butIthoughtImightaskhereaswell.I'vebeentryingtoinstallpylzmawiththissetup:Windows7x64Python2.6.6x64theamd64compilercomingfromwindowsserver2003sdkcloned</div>
                    </li>
                    <li><a href="/article/1881268769465102336.htm"
                           title="寻找优质股票数据接口:市面上哪些数据接口值得信赖" target="_blank">寻找优质股票数据接口:市面上哪些数据接口值得信赖</a>
                        <span class="text-muted">财云量化</span>
<a class="tag" taget="_blank" href="/search/python%E7%82%92%E8%82%A1%E8%87%AA%E5%8A%A8%E5%8C%96/1.htm">python炒股自动化</a><a class="tag" taget="_blank" href="/search/%E9%87%8F%E5%8C%96%E4%BA%A4%E6%98%93/1.htm">量化交易</a><a class="tag" taget="_blank" href="/search/%E7%A8%8B%E5%BA%8F%E5%8C%96%E4%BA%A4%E6%98%93/1.htm">程序化交易</a><a class="tag" taget="_blank" href="/search/%E8%82%A1%E7%A5%A8%E6%95%B0%E6%8D%AE%E6%8E%A5%E5%8F%A3/1.htm">股票数据接口</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%87%86%E7%A1%AE%E6%80%A7/1.htm">数据准确性</a><a class="tag" taget="_blank" href="/search/%E6%9C%8D%E5%8A%A1%E7%A8%B3%E5%AE%9A%E6%80%A7/1.htm">服务稳定性</a><a class="tag" taget="_blank" href="/search/%E5%80%BC%E5%BE%97%E4%BF%A1%E8%B5%96/1.htm">值得信赖</a><a class="tag" taget="_blank" href="/search/%E8%82%A1%E7%A5%A8%E9%87%8F%E5%8C%96%E6%8E%A5%E5%8F%A3/1.htm">股票量化接口</a><a class="tag" taget="_blank" href="/search/%E8%82%A1%E7%A5%A8API%E6%8E%A5%E5%8F%A3/1.htm">股票API接口</a>
                        <div>炒股自动化:申请官方API接口,散户也可以python炒股自动化(0),申请券商API接口python炒股自动化(1),量化交易接口区别Python炒股自动化(2):获取股票实时数据和历史数据Python炒股自动化(3):分析取回的实时数据和历史数据Python炒股自动化(4):通过接口向交易所发送订单Python炒股自动化(5):通过接口查询订单,查询账户资产股票量化,Python炒股,CSDN</div>
                    </li>
                    <li><a href="/article/1881266748108369920.htm"
                           title="用Python的python-pptx库,PPT自动化制作效率提升40%!" target="_blank">用Python的python-pptx库,PPT自动化制作效率提升40%!</a>
                        <span class="text-muted">忆愿</span>
<a class="tag" taget="_blank" href="/search/Python%E7%BC%96%E7%A8%8B%E7%9A%84%E8%84%89%E5%8A%A8%E4%B9%8B%E5%A3%B0/1.htm">Python编程的脉动之声</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/powerpoint/1.htm">powerpoint</a><a class="tag" taget="_blank" href="/search/%E8%87%AA%E5%8A%A8%E5%8C%96/1.htm">自动化</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/1.htm">机器学习</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E6%8C%96%E6%8E%98/1.htm">数据挖掘</a><a class="tag" taget="_blank" href="/search/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/1.htm">深度学习</a>
                        <div>你好,我是忆愿,全网4w+粉丝,《遂愿盈创》社群主理人。副业启航①|遂愿盈创(对副业感兴趣免费可入,多种赚钱实战项目等你来,一起探寻副业快速变现的途径;以及对接互联网大厂商务合作,一起来搞点小外快,认识更多互联网大咖)目前群里已经带很多小伙伴(大部分大学生)变现几百块啦,程序员搞副业有额外加成~对副业感兴趣可+V:suiyuan2ying拉你进群。文章目录python-pptx是啥?从零开始搞个P</div>
                    </li>
                    <li><a href="/article/1881263720148037632.htm"
                           title="成功编译和运行roslaunch qbo_webi qbo_webi.launch(解决qbo_object_recognition之后的其他问题)" target="_blank">成功编译和运行roslaunch qbo_webi qbo_webi.launch(解决qbo_object_recognition之后的其他问题)</a>
                        <span class="text-muted">皮熊</span>
<a class="tag" taget="_blank" href="/search/ROS%E6%A1%86%E6%9E%B6/1.htm">ROS框架</a><a class="tag" taget="_blank" href="/search/opencv/1.htm">opencv</a><a class="tag" taget="_blank" href="/search/qbo/1.htm">qbo</a><a class="tag" taget="_blank" href="/search/robot/1.htm">robot</a>
                        <div>折腾一天的问题,SurfFeatureDetectortype-specifier问题解决了。需要在cv.h中添加includenonfree/features2d.hpp。fromposter.encodeimportmultipart_encodeImportError:Nomodulenamedposter.encodesudoapt-getinstallpython-postersudoa</div>
                    </li>
                                <li><a href="/article/20.htm"
                                       title="矩阵求逆(JAVA)初等行变换" target="_blank">矩阵求逆(JAVA)初等行变换</a>
                                    <span class="text-muted">qiuwanchi</span>
<a class="tag" taget="_blank" href="/search/%E7%9F%A9%E9%98%B5%E6%B1%82%E9%80%86%EF%BC%88JAVA%EF%BC%89/1.htm">矩阵求逆(JAVA)</a>
                                    <div>package gaodai.matrix;

import gaodai.determinant.DeterminantCalculation;

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

/**
 * 矩阵求逆(初等行变换)
 * @author 邱万迟
 *</div>
                                </li>
                                <li><a href="/article/147.htm"
                                       title="JDK timer" target="_blank">JDK timer</a>
                                    <span class="text-muted">antlove</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/jdk/1.htm">jdk</a><a class="tag" taget="_blank" href="/search/schedule/1.htm">schedule</a><a class="tag" taget="_blank" href="/search/code/1.htm">code</a><a class="tag" taget="_blank" href="/search/timer/1.htm">timer</a>
                                    <div>1.java.util.Timer.schedule(TimerTask task, long delay):多长时间(毫秒)后执行任务 
2.java.util.Timer.schedule(TimerTask task, Date time):设定某个时间执行任务 
3.java.util.Timer.schedule(TimerTask task, long delay,longperiod</div>
                                </li>
                                <li><a href="/article/274.htm"
                                       title="JVM调优总结 -Xms -Xmx -Xmn -Xss" target="_blank">JVM调优总结 -Xms -Xmx -Xmn -Xss</a>
                                    <span class="text-muted">coder_xpf</span>
<a class="tag" taget="_blank" href="/search/jvm/1.htm">jvm</a><a class="tag" taget="_blank" href="/search/%E5%BA%94%E7%94%A8%E6%9C%8D%E5%8A%A1%E5%99%A8/1.htm">应用服务器</a>
                                    <div>堆大小设置JVM 中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制;系统的可用虚拟内存限制;系统的可用物理内存限制。32位系统下,一般限制在1.5G~2G;64为操作系统对内存无限制。我在Windows Server 2003 系统,3.5G物理内存,JDK5.0下测试,最大可设置为1478m。 
 
典型设置:   
 
  
   
    java -Xmx</div>
                                </li>
                                <li><a href="/article/401.htm"
                                       title="JDBC连接数据库" target="_blank">JDBC连接数据库</a>
                                    <span class="text-muted">Array_06</span>
<a class="tag" taget="_blank" href="/search/jdbc/1.htm">jdbc</a>
                                    <div>package Util; 
 
import java.sql.Connection; 
import java.sql.DriverManager; 
import java.sql.ResultSet; 
import java.sql.SQLException; 
import java.sql.Statement; 
 
 
public class JDBCUtil { 
 
 //完</div>
                                </li>
                                <li><a href="/article/528.htm"
                                       title="Unsupported major.minor version 51.0(jdk版本错误)" target="_blank">Unsupported major.minor version 51.0(jdk版本错误)</a>
                                    <span class="text-muted">oloz</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a>
                                    <div>java.lang.UnsupportedClassVersionError: cn/support/cache/CacheType : Unsupported major.minor version 51.0 (unable to load class cn.support.cache.CacheType) 
 at org.apache.catalina.loader.WebappClassL</div>
                                </li>
                                <li><a href="/article/655.htm"
                                       title="用多个线程处理1个List集合" target="_blank">用多个线程处理1个List集合</a>
                                    <span class="text-muted">362217990</span>
<a class="tag" taget="_blank" href="/search/%E5%A4%9A%E7%BA%BF%E7%A8%8B/1.htm">多线程</a><a class="tag" taget="_blank" href="/search/thread/1.htm">thread</a><a class="tag" taget="_blank" href="/search/list/1.htm">list</a><a class="tag" taget="_blank" href="/search/%E9%9B%86%E5%90%88/1.htm">集合</a>
                                    <div>  昨天发了一个提问,启动5个线程将一个List中的内容,然后将5个线程的内容拼接起来,由于时间比较急迫,自己就写了一个Demo,希望对菜鸟有参考意义。。 
 
 


import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.CountDownLatch;

public c</div>
                                </li>
                                <li><a href="/article/782.htm"
                                       title="JSP简单访问数据库" target="_blank">JSP简单访问数据库</a>
                                    <span class="text-muted">香水浓</span>
<a class="tag" taget="_blank" href="/search/sql/1.htm">sql</a><a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a><a class="tag" taget="_blank" href="/search/jsp/1.htm">jsp</a>
                                    <div>学习使用javaBean,代码很烂,仅为留个脚印 
 
 

public class DBHelper {

	private String driverName;
	private String url;
	private String user;
	private String password;
	private Connection connection;
	privat</div>
                                </li>
                                <li><a href="/article/909.htm"
                                       title="Flex4中使用组件添加柱状图、饼状图等图表" target="_blank">Flex4中使用组件添加柱状图、饼状图等图表</a>
                                    <span class="text-muted">AdyZhang</span>
<a class="tag" taget="_blank" href="/search/Flex/1.htm">Flex</a>
                                    <div>1.添加一个最简单的柱状图       
?       1   2   3   4   5   6   7   8   9   10   11   12   13   14   15   16   17   18   19   20   21   22   23   24   25   26   27   28      
<?xml version= 
"1.0"&n</div>
                                </li>
                                <li><a href="/article/1036.htm"
                                       title="Android 5.0 - ProgressBar 进度条无法展示到按钮的前面" target="_blank">Android 5.0 - ProgressBar 进度条无法展示到按钮的前面</a>
                                    <span class="text-muted">aijuans</span>
<a class="tag" taget="_blank" href="/search/android/1.htm">android</a>
                                    <div>在低于SDK < 21 的版本中,ProgressBar 可以展示到按钮前面,并且为之在按钮的中间,但是切换到android 5.0后进度条ProgressBar 展示顺序变化了,按钮再前面,ProgressBar 在后面了我的xml配置文件如下: 
     
[html]  
view plain 
copy       
 
 <RelativeLa</div>
                                </li>
                                <li><a href="/article/1163.htm"
                                       title="查询汇总的sql" target="_blank">查询汇总的sql</a>
                                    <span class="text-muted">baalwolf</span>
<a class="tag" taget="_blank" href="/search/sql/1.htm">sql</a>
                                    <div>select   list.listname, list.createtime,listcount from dream_list as list ,   (select listid,count(listid) as listcount  from dream_list_user  group by listid  order by count(</div>
                                </li>
                                <li><a href="/article/1290.htm"
                                       title="Linux du命令和df命令区别" target="_blank">Linux du命令和df命令区别</a>
                                    <span class="text-muted">BigBird2012</span>
<a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a>
                                    <div>        1,两者区别      
       du,disk usage,是通过搜索文件来计算每个文件的大小然后累加,du能看到的文件只是一些当前存在的,没有被删除的。他计算的大小就是当前他认为存在的所有文件大小的累加和。 
       </div>
                                </li>
                                <li><a href="/article/1417.htm"
                                       title="AngularJS中的$apply,用还是不用?" target="_blank">AngularJS中的$apply,用还是不用?</a>
                                    <span class="text-muted">bijian1013</span>
<a class="tag" taget="_blank" href="/search/JavaScript/1.htm">JavaScript</a><a class="tag" taget="_blank" href="/search/AngularJS/1.htm">AngularJS</a><a class="tag" taget="_blank" href="/search/%24apply/1.htm">$apply</a>
                                    <div>        在AngularJS开发中,何时应该调用$scope.$apply(),何时不应该调用。下面我们透彻地解释这个问题。 
        但是首先,让我们把$apply转换成一种简化的形式。 
        scope.$apply就像一个懒惰的工人。它需要按照命</div>
                                </li>
                                <li><a href="/article/1544.htm"
                                       title="[Zookeeper学习笔记十]Zookeeper源代码分析之ClientCnxn数据序列化和反序列化" target="_blank">[Zookeeper学习笔记十]Zookeeper源代码分析之ClientCnxn数据序列化和反序列化</a>
                                    <span class="text-muted">bit1129</span>
<a class="tag" taget="_blank" href="/search/zookeeper/1.htm">zookeeper</a>
                                    <div>ClientCnxn是Zookeeper客户端和Zookeeper服务器端进行通信和事件通知处理的主要类,它内部包含两个类,1. SendThread 2. EventThread, SendThread负责客户端和服务器端的数据通信,也包括事件信息的传输,EventThread主要在客户端回调注册的Watchers进行通知处理 
  
ClientCnxn构造方法 
  
&</div>
                                </li>
                                <li><a href="/article/1671.htm"
                                       title="【Java命令一】jmap" target="_blank">【Java命令一】jmap</a>
                                    <span class="text-muted">bit1129</span>
<a class="tag" taget="_blank" href="/search/Java%E5%91%BD%E4%BB%A4/1.htm">Java命令</a>
                                    <div>jmap命令的用法: 
  
[hadoop@hadoop sbin]$ jmap
Usage:
    jmap [option] <pid>
        (to connect to running process)
    jmap [option] <executable <core>
        (to connect to a </div>
                                </li>
                                <li><a href="/article/1798.htm"
                                       title="Apache 服务器安全防护及实战" target="_blank">Apache 服务器安全防护及实战</a>
                                    <span class="text-muted">ronin47</span>

                                    <div>此文转自IBM. 
Apache 服务简介 
Web 服务器也称为 WWW 服务器或 HTTP 服务器 (HTTP Server),它是 Internet 上最常见也是使用最频繁的服务器之一,Web 服务器能够为用户提供网页浏览、论坛访问等等服务。 
由于用户在通过 Web 浏览器访问信息资源的过程中,无须再关心一些技术性的细节,而且界面非常友好,因而 Web 在 Internet 上一推出就得到</div>
                                </li>
                                <li><a href="/article/1925.htm"
                                       title="unity 3d实例化位置出现布置?" target="_blank">unity 3d实例化位置出现布置?</a>
                                    <span class="text-muted">brotherlamp</span>
<a class="tag" taget="_blank" href="/search/unity%E6%95%99%E7%A8%8B/1.htm">unity教程</a><a class="tag" taget="_blank" href="/search/unity/1.htm">unity</a><a class="tag" taget="_blank" href="/search/unity%E8%B5%84%E6%96%99/1.htm">unity资料</a><a class="tag" taget="_blank" href="/search/unity%E8%A7%86%E9%A2%91/1.htm">unity视频</a><a class="tag" taget="_blank" href="/search/unity%E8%87%AA%E5%AD%A6/1.htm">unity自学</a>
                                    <div>问:unity 3d实例化位置出现布置? 
答:实例化的同时就可以指定被实例化的物体的位置,即 position   
Instantiate (original : Object, position : Vector3, rotation : Quaternion) : Object 
这样你不需要再用Transform.Position了, 
  
如果你省略了第二个参数(</div>
                                </li>
                                <li><a href="/article/2052.htm"
                                       title="《重构,改善现有代码的设计》第八章 Duplicate Observed Data" target="_blank">《重构,改善现有代码的设计》第八章 Duplicate Observed Data</a>
                                    <span class="text-muted">bylijinnan</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E9%87%8D%E6%9E%84/1.htm">重构</a>
                                    <div>
import java.awt.Color;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.Label;
import java.awt.TextField;
import java.awt.event.FocusAdapter;
import java.awt.event.FocusE</div>
                                </li>
                                <li><a href="/article/2179.htm"
                                       title="struts2更改struts.xml配置目录" target="_blank">struts2更改struts.xml配置目录</a>
                                    <span class="text-muted">chiangfai</span>
<a class="tag" taget="_blank" href="/search/struts.xml/1.htm">struts.xml</a>
                                    <div>struts2默认是读取classes目录下的配置文件,要更改配置文件目录,比如放在WEB-INF下,路径应该写成../struts.xml(非/WEB-INF/struts.xml) 
web.xml文件修改如下: 
  
<filter>
<filter-name>struts2</filter-name>
<filter-class&g</div>
                                </li>
                                <li><a href="/article/2306.htm"
                                       title="redis做缓存时的一点优化" target="_blank">redis做缓存时的一点优化</a>
                                    <span class="text-muted">chenchao051</span>
<a class="tag" taget="_blank" href="/search/redis/1.htm">redis</a><a class="tag" taget="_blank" href="/search/hadoop/1.htm">hadoop</a><a class="tag" taget="_blank" href="/search/pipeline/1.htm">pipeline</a>
                                    <div>  
      最近集群上有个job,其中需要短时间内频繁访问缓存,大概7亿多次。我这边的缓存是使用redis来做的,问题就来了。 
      首先,redis中存的是普通kv,没有考虑使用hash等解结构,那么以为着这个job需要访问7亿多次redis,导致效率低,且出现很多redi</div>
                                </li>
                                <li><a href="/article/2433.htm"
                                       title="mysql导出数据不输出标题行" target="_blank">mysql导出数据不输出标题行</a>
                                    <span class="text-muted">daizj</span>
<a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%AF%BC%E5%87%BA/1.htm">数据导出</a><a class="tag" taget="_blank" href="/search/%E5%8E%BB%E6%8E%89%E7%AC%AC%E4%B8%80%E8%A1%8C/1.htm">去掉第一行</a><a class="tag" taget="_blank" href="/search/%E5%8E%BB%E6%8E%89%E6%A0%87%E9%A2%98/1.htm">去掉标题</a>
                                    <div>当想使用数据库中的某些数据,想将其导入到文件中,而想去掉第一行的标题是可以加上-N参数 
 
如通过下面命令导出数据: 
mysql -uuserName -ppasswd -hhost -Pport -Ddatabase -e " select * from tableName"  > exportResult.txt 
 
结果为: 
 
studentid</div>
                                </li>
                                <li><a href="/article/2560.htm"
                                       title="phpexcel导出excel表简单入门示例" target="_blank">phpexcel导出excel表简单入门示例</a>
                                    <span class="text-muted">dcj3sjt126com</span>
<a class="tag" taget="_blank" href="/search/PHP/1.htm">PHP</a><a class="tag" taget="_blank" href="/search/Excel/1.htm">Excel</a><a class="tag" taget="_blank" href="/search/phpexcel/1.htm">phpexcel</a>
                                    <div>先下载PHPEXCEL类文件,放在class目录下面,然后新建一个index.php文件,内容如下 
<?php 
error_reporting(E_ALL); 
ini_set('display_errors', TRUE); 
ini_set('display_startup_errors', TRUE); 
  
if (PHP_SAPI == 'cli') 
 die('</div>
                                </li>
                                <li><a href="/article/2687.htm"
                                       title="爱情格言" target="_blank">爱情格言</a>
                                    <span class="text-muted">dcj3sjt126com</span>
<a class="tag" taget="_blank" href="/search/%E6%A0%BC%E8%A8%80/1.htm">格言</a>
                                    <div> 1) I love you not because of who you are, but because of who I am when I am with you.    我爱你,不是因为你是一个怎样的人,而是因为我喜欢与你在一起时的感觉。   2) No man or woman is worth your tears, and the one who is, won‘t</div>
                                </li>
                                <li><a href="/article/2814.htm"
                                       title="转 Activity 详解——Activity文档翻译" target="_blank">转 Activity 详解——Activity文档翻译</a>
                                    <span class="text-muted">e200702084</span>
<a class="tag" taget="_blank" href="/search/android/1.htm">android</a><a class="tag" taget="_blank" href="/search/UI/1.htm">UI</a><a class="tag" taget="_blank" href="/search/sqlite/1.htm">sqlite</a><a class="tag" taget="_blank" href="/search/%E9%85%8D%E7%BD%AE%E7%AE%A1%E7%90%86/1.htm">配置管理</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C%E5%BA%94%E7%94%A8/1.htm">网络应用</a>
                                    <div>activity 展现在用户面前的经常是全屏窗口,你也可以将 activity 作为浮动窗口来使用(使用设置了 windowIsFloating 的主题),或者嵌入到其他的 activity (使用 ActivityGroup )中。 当用户离开 activity 时你可以在 onPause() 进行相应的操作 。更重要的是,用户做的任何改变都应该在该点上提交 ( 经常提交到 ContentPro</div>
                                </li>
                                <li><a href="/article/2941.htm"
                                       title="win7安装MongoDB服务" target="_blank">win7安装MongoDB服务</a>
                                    <span class="text-muted">geeksun</span>
<a class="tag" taget="_blank" href="/search/mongodb/1.htm">mongodb</a>
                                    <div>1.  下载MongoDB的windows版本:mongodb-win32-x86_64-2008plus-ssl-3.0.4.zip,Linux版本也在这里下载,下载地址: http://www.mongodb.org/downloads 
  
2.  解压MongoDB在D:\server\mongodb, 在D:\server\mongodb下创建d</div>
                                </li>
                                <li><a href="/article/3068.htm"
                                       title="Javascript魔法方法:__defineGetter__,__defineSetter__" target="_blank">Javascript魔法方法:__defineGetter__,__defineSetter__</a>
                                    <span class="text-muted">hongtoushizi</span>
<a class="tag" taget="_blank" href="/search/js/1.htm">js</a>
                                    <div>转载自: http://www.blackglory.me/javascript-magic-method-definegetter-definesetter/ 
在javascript的类中,可以用defineGetter和defineSetter_控制成员变量的Get和Set行为 
例如,在一个图书类中,我们自动为Book加上书名符号: 
function Book(name){  </div>
                                </li>
                                <li><a href="/article/3195.htm"
                                       title="错误的日期格式可能导致走nginx proxy cache时不能进行304响应" target="_blank">错误的日期格式可能导致走nginx proxy cache时不能进行304响应</a>
                                    <span class="text-muted">jinnianshilongnian</span>
<a class="tag" taget="_blank" href="/search/cache/1.htm">cache</a>
                                    <div>昨天在整合某些系统的nginx配置时,出现了当使用nginx cache时无法返回304响应的情况,出问题的响应头:    Content-Type:text/html; charset=gb2312   Date:Mon, 05 Jan 2015 01:58:05 GMT   Expires:Mon , 05 Jan 15 02:03:00 GMT   Last-Modified:Mon, 05</div>
                                </li>
                                <li><a href="/article/3322.htm"
                                       title="数据源架构模式之行数据入口" target="_blank">数据源架构模式之行数据入口</a>
                                    <span class="text-muted">home198979</span>
<a class="tag" taget="_blank" href="/search/PHP/1.htm">PHP</a><a class="tag" taget="_blank" href="/search/%E6%9E%B6%E6%9E%84/1.htm">架构</a><a class="tag" taget="_blank" href="/search/%E8%A1%8C%E6%95%B0%E6%8D%AE%E5%85%A5%E5%8F%A3/1.htm">行数据入口</a>
                                    <div>注:看不懂的请勿踩,此文章非针对java,java爱好者可直接略过。 
  
一、概念 
行数据入口(Row Data Gateway):充当数据源中单条记录入口的对象,每行一个实例。 
  
二、简单实现行数据入口 
为了方便理解,还是先简单实现: 
<?php
/**
 * 行数据入口类
 */
class OrderGateway {
    /*定义元数</div>
                                </li>
                                <li><a href="/article/3449.htm"
                                       title="Linux各个目录的作用及内容" target="_blank">Linux各个目录的作用及内容</a>
                                    <span class="text-muted">pda158</span>
<a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/%E8%84%9A%E6%9C%AC/1.htm">脚本</a>
                                    <div>1)根目录“/”     根目录位于目录结构的最顶层,用斜线(/)表示,类似于 
Windows 
操作系统的“C:\“,包含Fedora操作系统中所有的目录和文件。     2)/bin     /bin     目录又称为二进制目录,包含了那些供系统管理员和普通用户使用的重要 
linux命令的二进制映像。该目录存放的内容包括各种可执行文件,还有某些可执行文件的符号连接。常用的命令有:cp、d</div>
                                </li>
                                <li><a href="/article/3576.htm"
                                       title="ubuntu12.04上编译openjdk7" target="_blank">ubuntu12.04上编译openjdk7</a>
                                    <span class="text-muted">ol_beta</span>
<a class="tag" taget="_blank" href="/search/HotSpot/1.htm">HotSpot</a><a class="tag" taget="_blank" href="/search/jvm/1.htm">jvm</a><a class="tag" taget="_blank" href="/search/jdk/1.htm">jdk</a><a class="tag" taget="_blank" href="/search/OpenJDK/1.htm">OpenJDK</a>
                                    <div>获取源码  
 从openjdk代码仓库获取(比较慢) 
 
 安装mercurial Mercurial是一个版本管理工具。   sudo apt-get install mercurial    
 将以下内容添加到$HOME/.hgrc文件中,如果没有则自己创建一个: [extensions] forest=/home/lichengwu/hgforest-crew/forest.py fe</div>
                                </li>
                                <li><a href="/article/3703.htm"
                                       title="将数据库字段转换成设计文档所需的字段" target="_blank">将数据库字段转换成设计文档所需的字段</a>
                                    <span class="text-muted">vipbooks</span>
<a class="tag" taget="_blank" href="/search/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/1.htm">设计模式</a><a class="tag" taget="_blank" href="/search/%E5%B7%A5%E4%BD%9C/1.htm">工作</a><a class="tag" taget="_blank" href="/search/%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F/1.htm">正则表达式</a>
                                    <div>        哈哈,出差这么久终于回来了,回家的感觉真好! 
        PowerDesigner的物理数据库一出来,设计文档中要改的字段就多得不计其数,如果要把PowerDesigner中的字段一个个Copy到设计文档中,那将会是一件非常痛苦的事情。</div>
                                </li>
                </ul>
            </div>
        </div>
    </div>

<div>
    <div class="container">
        <div class="indexes">
            <strong>按字母分类:</strong>
            <a href="/tags/A/1.htm" target="_blank">A</a><a href="/tags/B/1.htm" target="_blank">B</a><a href="/tags/C/1.htm" target="_blank">C</a><a
                href="/tags/D/1.htm" target="_blank">D</a><a href="/tags/E/1.htm" target="_blank">E</a><a href="/tags/F/1.htm" target="_blank">F</a><a
                href="/tags/G/1.htm" target="_blank">G</a><a href="/tags/H/1.htm" target="_blank">H</a><a href="/tags/I/1.htm" target="_blank">I</a><a
                href="/tags/J/1.htm" target="_blank">J</a><a href="/tags/K/1.htm" target="_blank">K</a><a href="/tags/L/1.htm" target="_blank">L</a><a
                href="/tags/M/1.htm" target="_blank">M</a><a href="/tags/N/1.htm" target="_blank">N</a><a href="/tags/O/1.htm" target="_blank">O</a><a
                href="/tags/P/1.htm" target="_blank">P</a><a href="/tags/Q/1.htm" target="_blank">Q</a><a href="/tags/R/1.htm" target="_blank">R</a><a
                href="/tags/S/1.htm" target="_blank">S</a><a href="/tags/T/1.htm" target="_blank">T</a><a href="/tags/U/1.htm" target="_blank">U</a><a
                href="/tags/V/1.htm" target="_blank">V</a><a href="/tags/W/1.htm" target="_blank">W</a><a href="/tags/X/1.htm" target="_blank">X</a><a
                href="/tags/Y/1.htm" target="_blank">Y</a><a href="/tags/Z/1.htm" target="_blank">Z</a><a href="/tags/0/1.htm" target="_blank">其他</a>
        </div>
    </div>
</div>
<footer id="footer" class="mb30 mt30">
    <div class="container">
        <div class="footBglm">
            <a target="_blank" href="/">首页</a> -
            <a target="_blank" href="/custom/about.htm">关于我们</a> -
            <a target="_blank" href="/search/Java/1.htm">站内搜索</a> -
            <a target="_blank" href="/sitemap.txt">Sitemap</a> -
            <a target="_blank" href="/custom/delete.htm">侵权投诉</a>
        </div>
        <div class="copyright">版权所有 IT知识库 CopyRight © 2000-2050 E-COM-NET.COM , All Rights Reserved.
<!--            <a href="https://beian.miit.gov.cn/" rel="nofollow" target="_blank">京ICP备09083238号</a><br>-->
        </div>
    </div>
</footer>
<!-- 代码高亮 -->
<script type="text/javascript" src="/static/syntaxhighlighter/scripts/shCore.js"></script>
<script type="text/javascript" src="/static/syntaxhighlighter/scripts/shLegacy.js"></script>
<script type="text/javascript" src="/static/syntaxhighlighter/scripts/shAutoloader.js"></script>
<link type="text/css" rel="stylesheet" href="/static/syntaxhighlighter/styles/shCoreDefault.css"/>
<script type="text/javascript" src="/static/syntaxhighlighter/src/my_start_1.js"></script>





</body>

</html>