记录一下春季期间做的一个小任务:
之前使用webmagic框架做爬虫,对于这次的网站是使用js加载列表页的,不能再像之前那样获取下一页的链接进行爬虫了。于是只能针对这个网站进行DIY了
采集网站:中国XXXX网
搜索条件:非法吸收公共存款
关键技术:httpclient(发送请求)
jsoup(解析html文件)
tesseract(验证码破解) 使用参照链接:http://blog.csdn.net/qq245671051/article/details/50363678
jdbc(持久化数据)
网站主要反扒措施:js动态加载分页数据 对频繁请求的ip做数字验证码输入验证、数字+字母验证码输入验证、封禁ip地址
数据采集分析:
1)ctrl+s保存网页,对网页源码进行分析,尤其是js文件。用chrome开发者工具的network进行查看,找到生成关键信息
的js文件,在该js文件中找到调用的接口,对比network中的信息使用httpclient进行模拟调用。
2)根据具体页链接生成规则拿到具体页的url,使用jsoup去获取html内容并对其进行解析,拿到有效内容
3)如果调用接口或者请求html出现异常,如无法获取或者解析等,此时调用验证码破解方法。
4)关于验证码破解问题:在页面上右击验证码图片复制链接,此时拿到了验证码的链接地址,再分析验证页面的html和js,拿到
验证码的上传的接口。使用tesseract破解验证码获取验证码字符串,使用httpclient模拟发送验证码字符串到验证接口。
此时便能正常访问了。
5)使用jdbc持久化采集数据。