学习小结,自己以后回顾使用,有错误的欢迎补充指正。
开始大数据学习中的入门基础:爬取起点中文网的小说内容
JAVA代码如下:
public static void main(String[] args) throws Exception {
// 1.
// https://read.qidian.com/chapter/_h17RCSkeXScikCo3ZPkrg2/_LrKPdZirvtMs5iq0oQwLQ2
String url = "https://read.qidian.com/chapter/VyR3pTTz0W7ywypLIF-xfQ2/A4BhSR5ORnRMs5iq0oQwLQ2";
while (url != null) {
// 2. 发起一个请求
HttpGet httpGet = new HttpGet(url);
CloseableHttpClient httpClient = HttpClients.createDefault();
// 3. 得到响应的结果
CloseableHttpResponse res = httpClient.execute(httpGet);
HttpEntity entity = res.getEntity();
String html = EntityUtils.toString(entity, Charset.forName("utf-8"));
// 3.1 解析章节内容
Document doc = Jsoup.parse(html);
// 获取章节名称
Element name = doc.select(".j_chapterName").get(0);
System.out.println(name.text());
System.out.println("-------------------------");
// 获取章节内容
Elements contents = doc.select("div[class=read-content j_readContent] p");
for (Element element : contents) {
System.out.println(element.text());
}
// 3.2 获取下一个章节的url
Elements nextUrls = doc.select("#j_chapterNext");
Element nextUrl = nextUrls.get(0);
url = "https:" + nextUrl.attr("href");
}
}
利用死循环的方式不断循环一本书的下一章内容
一开始我们需要先获取书的网址链接,放到请求中
创建链接,将请求放到链接方法中打开连接
打开链接获取了页面的响应,拿到响应体
获取响应体的内容,设置编码为utf-8
将响应体对象通过Jsoup的方法转化为Document对象
Document doc = Jsoup.parse(html);
获取章节内容Elements对象集合
Elements contents = doc.select("div[class=read-content j_readContent] p");
遍历Elements对象的集合就能获得我们想要的书的内容了
第一天学习中还有不懂的
后台登陆用户,获取商品信息的案例,Tomcat启动不了
其中的重点是重定向问题,登陆后通过重定向到达商品页面,获取商品信息