java抓取网页内容(java抓取网页内容的主要有三个步骤:抓取逻辑)
优采云 发布时间: 2022-04-15 13:04java抓取网页内容(java抓取网页内容的主要有三个步骤:抓取逻辑)
java抓取网页内容,主要有三个步骤:数据预处理、数据提取、数据分析。
1、文字处理,处理网页上的文字。
2、单行、多行文本提取,转换成数字型文本。
3、扫描函数,即将网页上的条件格式数据扫描成一个一个的规则元素,方便抓取。
数据提取部分:
1、通过java的connection提供的方法(接收键值对),将提取到的值传递给数据库,利用查询语句查询数据库中的值。
2、利用servlet的connectionservice封装接收到的值,并完成servlet的上下文切换。
3、提取需要的数据。
4、用objectresolver,遍历数据库,返回需要提取的值。
5、存储、读取字符串。
6、查询相应的值,得到需要的值。
数据分析部分:
1、继续以上步骤,得到所需要的数据。
2、分析获取到的数据,并提取相应的值。
3、用openresolver读取所需要的值,得到传递给httpclient的参数列表,传递给httpclient,发送给servlet,并传递给service对象、webservice对象。
4、service对象继续代表connectionservice,开始读取并发送相应的参数。
对于分析网页数据来说,也就是对于lz这种做业务的程序员来说,是不分前后端的,api接口模拟登录按钮等数据,接入jq,mybatis,hibernate等提供的api参数和数据,一切都处理完成即可,这种模式适合restful架构下的,jsonjsonp发包给浏览器,页面逻辑处理完成直接返回response就行了,提供restfulapi即可。
而对于抓取来说,前端处理和后端处理都需要,抓取的抓取逻辑是关键,像前端网页是根据userid登录,用户id类型等等因素抓取,后端就是抓取与用户id绑定过的信息、包括在页面中的回调函数等等,抓取之后可以拿到api返回的response(通过验证)也可以转存到数据库中,当然可以顺便做些数据库查询等操作,还可以结合第三方springcloud平台,连接服务发现注册,因为现在看来不少业务都是用springboot+mybatis/springcloud作为业务基础架构,restful协议也随之统一。
了解到以上还不过瘾,还可以了解下,aiohttp,简单易用,有丰富的示例,代码量少,作为后端来说也很方便,在代码量上也很可观,重点是作为后端抓取来说轻便,代码不会过于冗余,轻量级的代码体积不会过大,工作负担也小。以上只是代表个人对抓取的理解,具体还得抓包、分析等实战来学习,才能真正理解抓取。