爬虫
遇到的问题
1、一开始使用学长的程序跑了一下,发现报错了(疑惑)。然后去这个爱下书小说站看了一下,发现了一点不同。它的href是这样的:
<a href="/109/109219/109219/43452614.html">说明一下</a>==$0
坑就坑在它的href和目录页的网址是有重复的,没办法直接拼接。
所以我改成了这样
String menuUrl2 ="https://www.aixiaxsw.com/";
~~
try{
chapter = Jsoup.connect(menuUrl2+subLink).timeout(10000).get();
} catch (IOException ewww) {
ewww.printStackTrace();
}
2、然后就是有最新章节这个东西,自然是要跳过的
if(count<=9){
count++;
continue;
}
有九个最新章节,所以前九次直接跳过。
3、接着是做好错误处理。这里能处理缺少前面https://以及后面缺少/的问题
String menuUrl;
String menuUrl2 ="https://www.aixiaxsw.com/";
String menuUrl3 ="http://www.aixiaxsw.com/";
final String fileAddr = "./";
Scanner scanner = new Scanner(System.in);
System.out.println("请输入爱下书网站小说的目录页网址(格式:https://www.aixiaxsw.com/109/109922/):");
menuUrl = scanner.next();
for(int i=0;i<=menuUrl2.length()-1;i++){
if (menuUrl.charAt(i)!=menuUrl2.charAt(i)&&menuUrl.charAt(i)!=menuUrl2.charAt(i)){
menuUrl="https://"+menuUrl;
}
}
if(menuUrl.charAt(menuUrl.length()-1)!='/'){
menuUrl+='/';
}
4、根据Markdown的格式对得到的文件标题,章节名进行格式化处理
fileOut.write(("# "+title+"\n\n").getBytes());
<code class="prettyprint" > fileOut.write(("\n\n" +"## "+chapterName+"\n\n " + chapterContent.text()).getBytes());
学到的东西
1、学会了在网页中利用F12查看标签等.
2、学会了如何对文件进行写入。