如何使用Java生成随机验证码?
这个不难,主要是先生成验证码,然后再绘制验证码,最后再保存成图片就行,下面我简单介绍一下实现过程,实验环境win10+jdk1.8+eclipse,主要内容如下:
1.首先,定义一个VerifyCode类,也就是验证码类,导入的包及定义成员变量如下,这里主要设置了可选字体、可选字符(验证码字符集):
2.接着就是随机生成验证码字符的颜色和字体,代码如下,很简单,主要使用Random类的nextInt函数:
3.为了使验证码更逼真,这里你可以绘制一些干扰点或线都行,这里以绘制干扰线为例,代码如下,很简单,就是随机生成线段起点坐标和终点坐标,然后再绘制线段:
4.接着就是生成验证码,并绘制验证码。这里随机生成了4位验证码,主要调用了Random类的nextInt函数用于随机生成验证码字符,然后调用BufferedImage类和Graphics2D类用于绘制验证码字符,主要代码如下:
5.最后就是返回随机生成的验证码文本,并保存验证码图片,主要代码如下,很简单:
6.接着,我们就可以进行测试了,这里定义了一个ImageTest测试类,在main函数中直接创建VerifyCode对象,调用相应方法就行,代码如下:
点击运行这个程序,就会在当前目录下生成一个验证码图片,效果如下:
至此,我们就完成了利用Java来生成随机验证码。总的来说,整个过程不难,思路也很清晰,主要是先生成验证码,然后绘制验证码,最后再保存就行,只要你有一定的Java基础,熟悉一下代码和示例,多调试几遍,很快就能掌握的,可以参考一下这个教程,介绍的比较详细,当然,网上也有其他资料,感兴趣的话,可以搜一下,希望以上分享的内容能对你有所帮助吧,也欢迎大家评论、留言。
Python爬虫如何写?
Python的爬虫库其实很多,像常见的urllib,requests,bs4,lxml等,初始入门爬虫的话,可以学习一下requests和bs4(BeautifulSoup)这2个库,比较简单,也易学习,requests用于请求页面,BeautifulSoup用于解析页面,下面我以这2个库为基础,简单介绍一下Python如何爬取网页静态数据和网页动态数据,实验环境win10+python3.6+pycharm5.0,主要内容如下:
Python爬取网页静态数据
这个就很简单,直接根据网址请求页面就行,这里以爬取糗事百科上的内容为例:
1.这里假设我们要爬取的文本内容如下,主要包括昵称、内容、好笑数和评论数这4个字段:
打开网页源码,对应网页结构如下,很简单,所有字段内容都可以直接找到:
2.针对以上网页结构,我们就可以编写相关代码来爬取网页数据了,很简单,先根据url地址,利用requests请求页面,然后再利用BeautifulSoup解析数据(根据标签和属性定位)就行,如下:
程序运行截图如下,已经成功爬取到数据:
Python爬取网页动态数据
很多种情况下,网页数据都是动态加载的,直接爬取网页是提取不到任何数据的,这时就需要抓包分析,找到动态加载的数据,一般情况下就是一个json文件(当然,也可能是其他类型的文件,像xml等),然后请求解析这个json文件,就能获取到我们需要的数据,这里以爬取人人贷上面的散标数据为例:
1.这里假设我们爬取的数据如下,主要包括年利率,借款标题,期限,金额,进度这5个字段:
2.按F12调出开发者工具,依次点击“Network”->“XHR”,F5刷新页面,就可以找到动态加载的json文件,具体信息如下:
3.接着,针对以上抓包分析,我们就可以编写相关代码来爬取数据了,基本思路和上面的静态网页差不多,先利用requests请求json,然后再利用python自带的json包解析数据就行,如下:
程序运行截图如下,已经成功获取到数据:
至此,我们就完成了利用python来爬取网页数据。总的来说,整个过程很简单,requests和BeautifulSoup对于初学者来说,非常容易学习,也易掌握,可以学习使用一下,后期熟悉后,可以学习一下scrapy爬虫框架,可以明显提高开发效率,非常不错,当然,网页中要是有加密、验证码等,这个就需要自己好好琢磨,研究对策了,网上也有相关教程和资料,感兴趣的话,可以搜一下,希望以上分享的内容能对你上有所帮助吧,也欢迎大家评论、留言。