Java爬虫技术
使用爬虫技术最常见的API是httpclient和jsoup,当然jdk还有自带的爬虫API;下面介绍下两者的区别:
①HttpClient 是Apache Jakarta Common 下的子项目,可以用来提供高效的、最新的、功能丰富的支持 HTTP 协议((GET、POST、PUT、HEAD、DELETE、HEAD、OPTIONS 等))的客户端编程工具包,并且它支持 HTTP 协议最新的版本和建议。
HttpClient的主要功能:
1、实现了所有 HTTP 的方法
2、支持 HTTPS 协议
3、支持代理服务器(Nginx等)等
4、支持自动(跳转)转向②jsoup 是一款Java 的HTML解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API,可通过DOM,CSS以及类似于jQuery的操作方法来取出和操作数据。
主要功能
从一个URL,文件或字符串中解析HTML使用DOM或CSS选择器来查找、取出数据使用DOM或CSS选择器来查找、取出数据可操作HTML元素、属性、文本可操作HTML元素、属性、文本。总而言之,使用httpclient进行网络爬虫获取到的数据无法进行解析,而jsoup自带解析器,能够更加方便的获取想要的数据。
上手实践:
使用Java中jdk自带的API
public class JDKTest {
@Test
public void testGet() throws Exception {
// 1、 确定要爬取的URL
URL url = new URL("https://www.baidu.com");
//2、 获取连接对象
HttpURLConnection connection = (HttpURLConnection)url.openConnection();
//3、 设置连接信息
connection.setRequestMethod("GET");
connection.setRequestProperty("User-Agent","Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:86.0) Gecko/20100101 Firefox/86.0");
// 4、获取数据
InputStream inputStream = connection.g