我是用Java写爬虫的,
我是用Selenium实现爬取的
因为我从离职同事那边接手了一套,可执行爬虫代码程序, 所以就开始了我的爬虫之路(最后发现这条路很短)
网上推荐的 爬虫用python 和Python框架scrapy
但我有现成的一套了, 没必要去做一套新的python程序
selenium 还是很好使的, 它模拟人的浏览器操作
直接就解决了很多问题, 如爬取动态js加载的页面
我改造后的架构是这样的, 只能简单地画下
爬取程序01部分
1 配置一个驱动URL和相关位置配置表01
2 爬取url 里指定的位置a标签点进入后的页面, 整个html 保存到表02
解析程序02部分
1 配置正则url 和对应解析标签css路径表03
2 用Java的jsoup 解析之前的 静态html到表04
我把我的爬虫架构成为 "4表2程序"
这就实现了爬虫 , 后来剩下的大部分时间都在配置css路径...
涉及和实现的功能:
1 模拟登陆, 单独花时间写程序, 一个网站一个登陆程序, 没什么通用性
2 代理ip,公司竟然不掏钱买, 只能一个机器ip,干到底
3 实现了多线程爬取
4 实现了避免爬取相同网址
5 实现了反复解析静态页面
为什么说爬虫之路很短呢,
爬取的是网上公开的某类文章, 直接爬取后展示, 已经满足了目前公司的需要
不是做竞品分析, 只是类似于政绩一样的东西存在,
所以还没有下文...
如果爬取下来的 东西,有AI去分析,整理, 能指导公司业务,
那就会给爬虫开发部分投入更多的资源, 那就有了继续上路的必要
但关于 下面的东西我还是有兴趣的
1 文章内容的用算法方式通用提取,
2 同一篇文章转载后, 根据文章最长一句话的hash 去重