为什么豆豆小说网的内容不能阅读我想看小说,但内容都搜不出来

&欢迎访问起点女生网,请&&或&
加入书架书签 |
投女生推荐票 |
阅读底色..
字体大小..
默认设置..
打赏作品&|&
给本书投粉红票&|&
给本书评价
作者:&& 更新时间: 22:34&& 阅读最新章节
正文 分卷阅读本卷共0字
第二章 异状&第三章 检查&第四章 找我?&第五章 兼职&第六章 美女啊&第七章 启程&第八章 学习&第一章 梦境&第九章 开工&第十章 丢脸&第十一章 真人不露相&第十二章 多疑&第十三章 观察&第十四章 是敌是友&第十五章 任务&第十六章 恶战&第十七章 斗法&第十八章 回转&第十九章 重逢&第二十章 修炼&第二十一章 奇遇&第二十二章 下山&第二十三章 重生&第二十四章 是你&第二十五章 逛街&第二十六章 姐妹&第二十七章 现身&第二十八章 三十六计&第二十九章 再起状况&第三十章 复制人&第三十一章 异能波动&第三十二章 无敌战士&第三十三章 召集人&第三十四章 妞就是靓&第三十五章 明星耕之助&第三十六章 异能特使&第三十七章 再起风波&第三十八章 卧底&第三十九章 人才&第四十章 考验&第四十一章 试探&第四十二章 再试探&第四十三章 爱有心&第四十四章 记忆&第四十五章 筹码&第四十六章 吃醋&第四十七章 等待&第四十八章 合格&第四十九章 名单&第五十章 假象&第五十一章 探寻&第五十二章 林达&第五十三章 探秘&第五十四章 武器&第五十五章 时机&第五十六章 威尔&第五十七章 群英会&第五十八章 爱我&第五十九章 无言&第六十章 倾心&第六十一章 越界&第六十二章 心事&第六十三章 伙伴&第六十四章 大明星&第六十五章 大懒虫&第六十六章 训练&第六十七章 甄选(求票)&第六十八章 出差(求票)&严正声明!&第六十九章 回国&第七十章 欢迎会&第七十一章 课题&第七十二章 内丹&第七十三章 混元&第七十四章 武器&第七十五章 八神将&第七十六章 双面&第七十七章 大事件&第七十八章 暗物质&第七十九章 第一神将&第八十章 蜕变&第八十一章 女神将&第八十二章 惊人的威力&第八十二章 惊人的威力&
起点女生网欢迎广大书友光临阅读,最新、最快、最火的连载作品尽在起点原创!手机用户请到阅读。
向朋友推荐 |代码片段(5)
1.&[图片] jt.jpg&&&&
catchHtml.rar&~&264KB&&&&
readme.txt&~&244B&&&&
catchHtml.properties
抓取站点url
抓取文章根目录
抓取后存储路径
shiftWord 屏蔽文章内的文字,多个用&分割
javac -cp lib/jsoup-1.7.2.jar CatchHtml.java
java -cp .;lib/jsoup-1.7.2.jar CatchHtml
4.&[代码]catchHtml.properties&&&&
proName=/jueshitangmen/
filePath=D://jstm1.txt
shiftWord=&br/&&一秒记住【墨坛文学网】/manghuangji为您提供精彩小说阅读。
CatchHtml.java&~&6KB&&&&
import java.io.BufferedR
import java.io.BufferedW
import java.io.F
import java.io.FileInputS
import java.io.FileOutputS
import java.io.IOE
import java.io.InputStreamR
import java.io.OutputStreamW
import java.util.HashM
import java.util.I
import java.util.LinkedHashM
import java.util.M
import java.util.S
import org.jsoup.J
import org.jsoup.nodes.D
import org.jsoup.nodes.E
import org.jsoup.select.E
* Title: 网页抓取程序
* Description:
根据不同的网页结构 需要修改getElement方法实现解析
* @author lichaoyang
* @version 1.00.00
* 修改记录
修改后版本:
public class CatchHtml {
* 抓取总数
private static int totalSum = 1;
* 获取失败记录数
private static int failureSum = 0;
* 测试入口
* @param args
public static void main(String[] args) {
long startTime=System.currentTimeMillis();
CatchHtml ch = new CatchHtml();
Map&String,String& proMap = ch.readPropertieFile("catchHtml.properties");
//抓取站点url
String siteUrl = proMap.get("siteUrl");
//文字根url
String proName = proMap.get("proName");
//保存路径
String filePath = proMap.get("filePath");
//屏蔽关键字
String[] shiftWord = proMap.get("shiftWord").split("&");
//获取目录所在页面元素
Document docum = ch.getHtmlDoc(siteUrl + proName);
//解析目录所在页面元素 获取所有章节url
Map&String,String& urlMap = ch.getElement(docum);
//通过所有章节url 获取每个章节内容并保存
ch.writeFile(siteUrl, filePath, urlMap, "UTF-8", shiftWord);
long endTime=System.currentTimeMillis();
System.out.println("The End ! totalSum:" + (totalSum-1) + " failureSum:" + failureSum);
System.out.println("run time: "+(endTime-startTime)/6000+"s");
* 获取Html Document
* @param url
private Document getHtmlDoc(String url){
Document doc =
doc = Jsoup.connect(url).timeout(600000).userAgent("Mozilla/5.0 (M Intel Mac OS X 10.8; rv:23.0) Gecko/ Firefox/23.0").get();
} catch (IOException e) {
e.printStackTrace();
* 获取数据元素
* @param doc
* @return Map&String,String&
key 章节名
private Map&String,String& getElement(Document doc){
Element singerListDiv = doc.getElementsByAttributeValue("class", "book_listtext").first();
Elements links = singerListDiv.getElementsByTag("li");
Map&String,String& emap = new LinkedHashMap&String,String&();
for (Element link : links) {
if(link.childNodeSize()&0){
Element linkcs = link.child(0);
String linkHref =linkcs.attr("href");
String linkText = link.text().trim();
emap.put(linkText, linkHref);
System.out.println("url total:"+ emap.size());
* 文件缓存
* @param filePath
* @param emap
* @param encoding 文件编码
* @param shiftWord 屏蔽关键字
private void writeFile(String siteUrl, String filePath, Map&String,String& emap,
String encoding ,String[] shiftWord) {
File file = new java.io.File(filePath);
if (!file.exists()) {
file.createNewFile();
if (file.isFile() && file.exists()) {
OutputStreamWriter write = new OutputStreamWriter(
new FileOutputStream(file), encoding);
BufferedWriter bufferedWriter = new BufferedWriter(write);
Set&String& eset = emap.keySet();
Iterator&String& it = eset.iterator();
String eName = "";
String content = "";
while(it.hasNext()){
eName = it.next();
content = this.getContents(eName, siteUrl + emap.get(eName), shiftWord);
bufferedWriter.write(eName);
bufferedWriter.newLine();
bufferedWriter.write(content);
bufferedWriter.newLine();
bufferedWriter.flush();
write.close();
System.out.println("file error");
} catch (Exception e) {
System.out.println("writeFile error");
e.printStackTrace();
* catch内容
* @param conUrl
private String getContents(String eName, String conUrl, String[] shiftWord){
String contents = this.getHtmlDoc(conUrl).getElementById("booktext").text();
//屏蔽关键词
for(String str : shiftWord){
contents = contents.replaceAll(str, "");
//抓取内容长度大于100 即成功
if(contents.length()&100){
System.out.println("Succeed - " + totalSum + eName);
System.out.println("* Failure - " + totalSum + eName);
failureSum++;
totalSum++;
* read Propertie File by IO
* @param filePath
private Map&String, String& readPropertieFile(String filePath) {
Map&String, String& retData = new HashMap&String, String&();
String encoding = "UTF-8";
File file = new File(CatchHtml.class.getResource(filePath).getFile());
if (file.isFile() && file.exists()) {
InputStreamReader read = new InputStreamReader(new FileInputStream(file), encoding);//
BufferedReader bufferedReader = new BufferedReader(read);
String lineTxt =
while ((lineTxt = bufferedReader.readLine()) != null) {
int _index = lineTxt.indexOf("=");
if (_index & 0) {
retData.put(lineTxt.substring(0, _index),lineTxt.substring(_index+1));
read.close();
System.out.println("Can't find PropertieFile !");
} catch (Exception e) {
System.out.println("readPropertieFile error");
e.printStackTrace();
return retD
开源中国-程序员在线工具:
相关的代码(69)
47回/16012阅
37回/15055阅
23回/10284阅
15回/9144阅
51回/7649阅
16回/6367阅
9回/6074阅
30回/5905阅
30回/5020阅
11回/4302阅
2楼:空云万里晴 发表于
可惜按不看小说,俺看美女
3楼:寂寞打豆豆 发表于
4楼:Gmuploader 发表于
有网站限制。。换了个网站读不出来
5楼:风之无常 发表于
引用来自“谭书记”的评论有网站限制。。换了个网站读不出来什么网站 贴出来看看,换站点后结构变化需要修改getElement方法。
6楼:Gmuploader 发表于
引用来自“风之无常”的评论引用来自“谭书记”的评论有网站限制。。换了个网站读不出来什么网站 贴出来看看,换站点后结构变化需要修改getElement方法。 我看了下网站结构,不过不行,,没细看你的方法。。弱弱的问下,如果这个章节是要付费的话应该抓不出了吧
7楼:风之无常 发表于
1、你把getElement方法(遍历目录路径)覆盖就行了
private Map&String,String& getElement(Document doc){ & & Element singerListDiv = doc.getElementsByAttributeValue(&class&, &bd&).get(1); &&&&Elements links = singerListDiv.getElementsByTag(&a&); &&&&Map&String,String& emap = new LinkedHashMap&String,String&(); &&&&for (Element link : links) { &&&&&&&&if(link.childNodeSize()&0){ &&&&&&&&&&&&String linkHref =link.attr(&href&); &&&&&&&&&&&&String linkText = link.text().trim(); &&&&&&&&&&&&emap.put(linkText, linkHref); &&&&&&&&} &&&&} &&&&System.out.println(&url total:&+ emap.size()); &&&&
2、getContents方法,获取小说内容的方法中替换这句话
String contents = this.getHtmlDoc(conUrl).getElementsByAttributeValue(&class&, &page-content&).text();
3、配置文件catchHtml.properties中前两个属性应该是: siteUrl= proName=/book/1603/chapter
至于付费的暂时获取不到,抽时间可以研究下。
8楼:风之无常 发表于
引用来自“谭书记”的评论引用来自“风之无常”的评论引用来自“谭书记”的评论有网站限制。。换了个网站读不出来什么网站 贴出来看看,换站点后结构变化需要修改getElement方法。 我看了下网站结构,不过不行,,没细看你的方法。。弱弱的问下,如果这个章节是要付费的话应该抓不出了吧解决方案,见楼上(7楼)~~~
9楼:Gmuploader 发表于
引用来自“风之无常”的评论1、你把getElement方法(遍历目录路径)覆盖就行了
private Map&String,String& getElement(Document doc){ & & Element singerListDiv = doc.getElementsByAttributeValue(&class&, &bd&).get(1); &&&&Elements links = singerListDiv.getElementsByTag(&a&); &&&&Map&String,String& emap = new LinkedHashMap&String,String&(); &&&&for (Element link : links) { &&&&&&&&if(link.childNodeSize()&0){ &&&&&&&&&&&&String linkHref =link.attr(&href&); &&&&&&&&&&&&String linkText = link.text().trim(); &&&&&&&&&&&&emap.put(linkText, linkHref); &&&&&&&&} &&&&} &&&&System.out.println(&url total:&+ emap.size()); &&&&
2、getContents方法,获取小说内容的方法中替换这句话
String contents = this.getHtmlDoc(conUrl).getElementsByAttributeValue(&class&, &page-content&).text();
3、配置文件catchHtml.properties中前两个属性应该是: siteUrl= proName=/book/1603/chapter
至于付费的暂时获取不到,抽时间可以研究下。哈哈哈哈。哥们,你太流弊了。。。付费的照样拿的到啊。。。你太坏了,这还让人赚钱不。赞一个
10楼:Gmuploader 发表于
引用来自“风之无常”的评论1、你把getElement方法(遍历目录路径)覆盖就行了
private Map&String,String& getElement(Document doc){ & & Element singerListDiv = doc.getElementsByAttributeValue(&class&, &bd&).get(1); &&&&Elements links = singerListDiv.getElementsByTag(&a&); &&&&Map&String,String& emap = new LinkedHashMap&String,String&(); &&&&for (Element link : links) { &&&&&&&&if(link.childNodeSize()&0){ &&&&&&&&&&&&String linkHref =link.attr(&href&); &&&&&&&&&&&&String linkText = link.text().trim(); &&&&&&&&&&&&emap.put(linkText, linkHref); &&&&&&&&} &&&&} &&&&System.out.println(&url total:&+ emap.size()); &&&&
2、getContents方法,获取小说内容的方法中替换这句话
String contents = this.getHtmlDoc(conUrl).getElementsByAttributeValue(&class&, &page-content&).text();
3、配置文件catchHtml.properties中前两个属性应该是: siteUrl= proName=/book/1603/chapter
至于付费的暂时获取不到,抽时间可以研究下。噢,貌似是只能获取到页面有的内容。。。付费的如何破是门值得研究的内涵。。。静候撸主的好消息。。
11楼:kingwmj 发表于
java新手问一个问题,为什么我用eclipse运行就不行?jar文件已经导进去了。但是用命令行,你给出的javac就可以。老是说“readPropertieFile error”
12楼:风之无常 发表于
引用来自“kingwmj”的评论 java新手问一个问题,为什么我用eclipse运行就不行?jar文件已经导进去了。但是用命令行,你给出的javac就可以。老是说“readPropertieFile error” 解决方案,见楼下!
13楼:风之无常 发表于
在eclipse中运行中需要导入jsoup-1.7.2.jar 即将jar包BuildPath-&Add to BuildPath
你用命令运行出现问题 readPropertieFile error 是读取catch.properties配置文件的错误。需要注意两点:
1、确定catch.properties文件存在,并与class文件在同一级目录下
2、运行还有错误可以dug源码查找错误,注意查看readPropertieFile方法中这行代码
File file = new File(CatchHtml.class.getResource(filePath).getFile());
为获取配置文件路径的,一般出问题为获取路径方式修改下就OK了。
14楼:逍遥书生 发表于
多谢提供小说站点!
15楼:景晨 发表于
&Element singerListDiv = doc.getElementsByAttributeValue(&class&,&book_listtext&).first(); 获取为空
16楼:景晨 发表于
改了个网站
proName=/0/82/82267/
Element singerListDiv = doc.getElementsByAttributeValue(&id&, &list&).first();
Elements links = singerListDiv.getElementsByTag(&dd&);
但是扒到的数据有这样的
&&a href=&.html& title=&第一节 交换&&第一节 交换&/a&
&&a href=&.html& title=&第二节 赏罚&&第二节 赏罚&/a&
标红的代码&Element linkcs = link.child(0);时会报java.lang.IndexOutOfBoundsException: Index: 0, Size: 0 如何解决
17楼:景晨 发表于
加了一个判断规则,
 我判断是否为空一直有问题,只能判断Element&长度了。 抓取章节页的方法也改了。
18楼:风之无常 发表于
引用来自“杨景晨”的评论加了一个判断规则,
 我判断是否为空一直有问题,只能判断Element&长度了。 抓取章节页的方法也改了。现在问题解决了么? 你更换网站后,需要修改下抓取方法,getElement和getContents两个方法,根据网页结构重新定位,获取内容。如果还有问题你可以贴出来,一起研究下。
19楼:景晨 发表于
引用来自“风之无常”的评论引用来自“杨景晨”的评论加了一个判断规则,
 我判断是否为空一直有问题,只能判断Element&长度了。 抓取章节页的方法也改了。现在问题解决了么? 你更换网站后,需要修改下抓取方法,getElement和getContents两个方法,根据网页结构重新定位,获取内容。如果还有问题你可以贴出来,一起研究下。解决了,主要是我章节页抓取时会出现
空链接的情况,开始判断是否为空一直无效。其他都是小问题。
20楼:zillionpark 发表于
章节列表只要抓取链接就行了吧
开源从代码分享开始
风之无常的其他代码

我要回帖

更多关于 我想看女人生孩子 的文章

 

随机推荐