一、相关概念
- Maven:Maven是一种用于Java的,可以管理Jar包集成调用的工具。用它可以搭建SpringMVC;
- 爬虫的框架
数据处理层db |
主方法层main |
对象领域层 |
爬虫框架
| |||||
| |||||
|
核心思路:(1)main方法,将url传递给util,获得HTML文件;
- util将HTML传递给parse进行解析,获得需求数据;
- 将获得的数据放入集合中,通过main的调用,集合中的数据再放到数据库 中;
进阶的爬虫技术:
- 定时爬虫(金融);
- 模拟登陆(刷数据);
- 多翻页;
2.爬虫学习网站
https://blog.youkuaiyun.com/qy20115549/article/details/52203722
https://blog.youkuaiyun.com/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.youkuaiyun.com/优快云_AF/article/details/70888852
https://www.cnblogs.com/quanxi/p/Crawler_Summary.html
http://datahref.com/archives/24
- 爬虫遇到的问题:
- 类无法实例化:可能是因为依赖项的版本不正确所致;
- 爬虫程序中的核心修改项:
- 网站url;
- 网站爬虫的属性;
- 多页爬虫
- 基本步骤
db:主要放的是数据库操作文件,包含MyDataSource【数据库驱动注册、连接数据库的用户名、密码】,MYSQLControl【连接数据库,插入操作、更新操作、建表操作等】。
model:用来封装对象,比如我要获取京东书籍的ID、书名、价格,则需要在model写入对应的属性。说的直白一些,封装的就是我要操作数据对应的属性名。有不明白的看之前写的一个简单的网络爬虫。
util:主要放的是httpclient的内容,主要作用时将main方法,传过来的url,通过httpclient相关方法,获取需要解析的html文件或者json文件等。
parse:这里面存放的是针对util获取的文件,进行解析,一般采用Jsoup解析;若是针对json数据,可采用正则表达式或者fastjson工具进行解析,建议使用fastjson,因其操作简单,快捷。
main:程序起点,也是重点,获取数据,执行数据库语句,存放数据。
(2)Model
问题类:
- org.apache.commons.dbcp2.BasicDataSource
setUrl方法;
- org.apache.commons.logging.LogFactory;
- org.apache.commons.dbutils.QueryRunner;
- import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import org.jsoup.nodes.Element; import org.jsoup.select.Elements;
仍然存在的问题:
- 对html缺乏认识,JSoup需要强化学习;
- 对深度爬虫还缺乏操作实现,需要后续学习;
- 对HTTPClient缺乏了解;