java 爬虫简单介绍

http连接请求

进行http请求时,根据需要设置request header,不同网站的头部设置不一样,要利用F12进行查看。

静态页面爬取

通过http get 请求获取页面的Document对象:
Document doc = Jsoup.connect(url).get();
然后就可用css选择器进行元素的选择,如以下示例:
1) Id=”shangbiaolist”的元素选择:
Elements shangbiaoList = doc.select(“#shangbiaolist”);
或者 Element shangbiaolist = doc.getElementById(“shangbiaolist”)
2) Div块的选择对应结构选择:
Elements elements = doc.select(“div.panel-body a:eq(0)”);
3)获取元素内的html文本:
Element.html()
4)获取元素的属性值:
Element.attr(“href”)

以企查查为例:

实际网页:

运行结果:

动态页面爬取

1)利用三方软件phantomjs进行页面的捕获

步骤1.安装phantomjs:
软件下载地址:http://phantomjs.org/download.html
下载完后,解压,并设置Path:

步骤2. 获取对应页面信息:
代码示例:

页面为:

运行结果为:

//获取元素的信息
WebElement.getText();//html文本内容
WebElement.getAttribute(“href”);//元素的属性值
WebElement.findElement(By by);//在该元素下查找内容

步骤3. 自动获取局部分页信息 或者 获取弹出框的信息:
/获取到该弹出框弹出的元素
WebElement e4 = e1.findElement(By.cssSelector(“a”));
e4.click();
//然后等待modalSleep毫秒,再对分页内容 或者 弹出框进行元素获取
Thread.sleep(modalSleep);

2)利用三方框架htmlunit 进行爬取
代码示例:

页面为:

运行结果为:

你可能感兴趣的:(java)