用Oracle PLSQL做**开奖数据爬虫(二、读取网页数据)
用Oracle PLSQL做**开奖数据爬虫(二、读取网页数据)
通过配置ACL,我们已经可以获取到网页数据。
可是,我们发现utl_http.request函数返回的数据并不全,最多只能返回1999个字符。
幸运的是Oracle当然已经准备了一套完整的工具来保证满足我们的需求,主要是提供了几个函数,可以把网页数据存入lob类型的字段里。我这里写了一个存储过程,用来爬某期双色球的开奖结果。
这段代码主要是发送一个request请求,得到response。其中注意2个header的设置,第一个是模拟浏览器发出请求,因为很多网站都做了反爬虫技术,来判断请求方是人还是机器,并进行拦截;第二个主要解决乱码问题,在上文中我们也看到,返回的数据里面中文显示都是乱码,至于为什么用“gb2312”这个字符集,当然是看网页的源代码里怎么设置的。
接下来就比较简单了,就是把获取到的数据保存下来
执行一下存储过程,抓到230K的数据。
至此,我们已经成功抓到了双色球的开奖记录,下一步就是做数据处理了。