利用java爬虫的学习心得

一、相关概念

  1. Maven:Maven是一种用于Java的,可以管理Jar包集成调用的工具。用它可以搭建SpringMVC;

 

  1. 爬虫的框架

 

数据处理层db

主方法层main

对象领域层

 

 
 

 

 

 

 

 

爬虫框架                 

 

         
   

url分析层parse

 
 

Util(html)处理层

 
 

Pom

 

 

 

 

 

 

核心思路:(1)main方法,将url传递给util,获得HTML文件;

  1. util将HTML传递给parse进行解析,获得需求数据;
  2. 将获得的数据放入集合中,通过main的调用,集合中的数据再放到数据库                                   中;

进阶的爬虫技术:

  1. 定时爬虫(金融);
  2. 模拟登陆(刷数据);
  3. 多翻页;

 

2.爬虫学习网站

https://blog.csdn.net/qy20115549/article/details/52203722

https://blog.csdn.net/liuqiangrxt/article/details/78589344

https://www.cnblogs.com/sanmubird/p/7857474.html

http://www.jb51.net/article/57193.htm

https://wenku.baidu.com/view/8964319b0129bd64783e0912a216147917117ebe.html

http://crawl.group.iteye.com/group/topic/38325

https://blog.csdn.net/CSDN_AF/article/details/70888852

https://www.cnblogs.com/quanxi/p/Crawler_Summary.html

http://datahref.com/archives/24

  1. 爬虫遇到的问题:
  1. 类无法实例化:可能是因为依赖项的版本不正确所致;
  1. 爬虫程序中的核心修改项:
  1. 网站url;
  2. 网站爬虫的属性;

 

 

 

  • 多页爬虫
  1. 基本步骤

db:主要放的是数据库操作文件,包含MyDataSource【数据库驱动注册、连接数据库的用户名、密码】,MYSQLControl【连接数据库,插入操作、更新操作、建表操作等】。

model:用来封装对象,比如我要获取京东书籍的ID、书名、价格,则需要在model写入对应的属性。说的直白一些,封装的就是我要操作数据对应的属性名。有不明白的看之前写的一个简单的网络爬虫。

util:主要放的是httpclient的内容,主要作用时将main方法,传过来的url,通过httpclient相关方法,获取需要解析的html文件或者json文件等。

parse:这里面存放的是针对util获取的文件,进行解析,一般采用Jsoup解析;若是针对json数据,可采用正则表达式或者fastjson工具进行解析,建议使用fastjson,因其操作简单,快捷。

main:程序起点,也是重点,获取数据,执行数据库语句,存放数据。

2Model

问题类:

  1. org.apache.commons.dbcp2.BasicDataSource
setUrl方法;
  1. org.apache.commons.logging.LogFactory;
  2. org.apache.commons.dbutils.QueryRunner;
  3. import org.jsoup.Jsoup;      import org.jsoup.nodes.Document;      import org.jsoup.nodes.Element;      import org.jsoup.select.Elements;
  4.  
 
 

 

仍然存在的问题:

  1. html缺乏认识,JSoup需要强化学习;
  2. 对深度爬虫还缺乏操作实现,需要后续学习;
  3. HTTPClient缺乏了解;

 

 

 

你可能感兴趣的:(JavaSE开发)