Java数据采集-1.准备工作

前言:自从2014年4月大一开始接触Java,7月开始接触网络爬虫至今已经两年的时间,共抓取非同类型网站150余个,其中包括一些超大型网站,比如百度文库,AMAZON,魔方格,学科网等。也在学长五年经验留下来的代码的基础上,整合成一个小型的爬虫框架,主要用于抓取期刊之类的数据型网站,包括元数据抓取和文件下载。在此感谢曾经给我引导方向,帮助我学习的学长们。

关于本系列博文:主要基于Java语言,使用Jsoup解析网页源码,HttpClient模拟请求,MySql数据持久化存储等,包括模拟登陆,数据抓取,代理IP,验证码识别等。

本系列文章原本在CSDN更新(Geekfly的专栏),时隔一年,在此重新拾起来了,打算继续更新,并迁移到亚洲城ca88,后续有将此项目开源的准备。

样例源码:https://github.com/geekfly2016/Spider

学习前的准备工作:

1.关于Java基础

此文档主要以Jsoup解析 + mysql数据库存储讲解数据抓取,需要具备一定的Java基础和数据库基础。

由于在实际抓取中经常使用到Java中对String的操作,如indexOf,subString,split,replace等,请重点回顾相关用法及有可能抛出的异常。

对于一些复杂的网站只靠Jsoup解析+String操作远远不够,有时候也需要使用替换后,也需要适当了解。

2.关于开发必备App

开发工具使用Eclipse系列,注意修改工作空间编码为UTF-8。

下载地址:

http://www.eclipse.org/downloads/packages/eclipse-ide-java-ee-developers/mars1

浏览器使用火狐或者GOOGLE,请自行选择。

火狐浏览器下载地址:

http://download.firefox.com.cn/releases/stub/official/zh-CN/Firefox-latest.exe

GOOGLE浏览器下载地址:

http://w.x.baidu.com/alading/anquan_soft_down_ub/14744

3.关于Jsoup

解析网页源码使用的是Jsoup,使用前请先查看一下文档学习。

jsoup 是一款Java 的HTML解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API,可通过DOM,CSS以及类似于jQuery的操作方法来取出和操作数据。

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?-- 百度百科

教程网址:http://www.open-open.com/jsoup/(重点)

Jsoup解析网页源码时常用的Element(s)类:http://blog.csdn.net/TMaskBoy/article/details/49076727

4. 关于HttpClient

HttpClient在发送Url请求方面,比Java自带的UrlConnect强大了很多,能实现普通的Get和Post请求,实现Https请求等。另外在文件流下载和代理IP等方面,都比较简单。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 138,002评论 20赞 590
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 87,004评论 14赞 122
  • 百战程序员_ Java1573题 QQ群:561832648489034603 掌握80%年薪20万掌握50%年薪...
    Albert陈凯阅读 12,244评论 2赞 32
  • 四年一转眼过去三年半,等待通知书的焦虑好像就在昨天,可是当下却是即将面临分别的今天。大学没学到什么专业常识,技能也...
    Anni爱夏阅读 131评论 2赞 1
  • 日升日落雨不停,灯明灯灭水拨影; 山楂一曲夜华政,查令一书广富林; 娓娓而来华亭湖,愠愠不去湖心影; 忽而执念忧心...
    雪儿馥阅读 27评论 0赞 1