所以我正在尝试编写一个程序,它可以收集不同文章中的某些信息并将它们组合起来.我遇到问题的步骤是从网页中提取文章.
我想知道您是否可以提供任何有关从网页中提取文本的java库/方法的建议?
我也找到了这个产品:http: //www.diffbot.com/products/automatic/article/ ,并想知道你是否认为这是要走的路?如果是这样,有人可以指向我的java实现 - 似乎找不到一个虽然显然它存在.
非常感谢
澄清 - 我更多的是寻找一种算法/库/方法,用于检测html dom树中可能存在文章的文本块的位置.像Safari的读者功能一样.ps如果你觉得这样做比python更简单,只是说 - 虽然我的程序必须在Java中运行,因为它最终应该在服务器上运行(使用java框架)我可以尝试让它使用python脚本 - 尽管会只有当你建议Python是要走的路时才这样做.
我正在尝试使用Diffbot将一些URL解析为相关的文章部分.他们有一个"文章API",允许你一次提交一个链接并收回它,但为了速度,我更喜欢使用Batch API,它基本上允许你将一堆Article API请求提交给一个大的请求并得到一个大的回应,而不是一次一个.
以下是Batch API在其文档中描述的内容(奇怪的是在登录墙后面):

我正在向Article API提交:
NSURLRequest *request = [[AFDiffbotClient sharedClient]
requestWithMethod:@"GET"
path:[NSString stringWithFormat:@"article?token=MYTOKEN&fields=url,text,title&url=%@", URL]
parameters:nil];
Run Code Online (Sandbox Code Playgroud)
而且它运作完美.AFDiffbotClient是一个单例组合,AFNetworking以帮助我更轻松地提出请求,URL参数只是我正在查看的文章的URL.(也许我可以在不手动创建URL的情况下这样做,如果有人可以提供相关的提示,可以获得奖励积分.)
但是,使用Batch API,您应该将一堆这些请求作为JSON数组提交(POST).我很困惑如何去做这件事.
编辑:我已经做了更多的工作,并取得了一些进展,但我收到了400错误.我无法弄清楚我做错了什么,但我必须走正确的道路.我正在使用我的令牌和我的JSON数组在POST请求中传递参数,但它仍然无法正常工作.
[AFDiffbotClient sharedClient].operationQueue.maxConcurrentOperationCount = NSOperationQueueDefaultMaxConcurrentOperationCount;
NSMutableArray *DiffbotRequests = [[NSMutableArray alloc] init];
for (NSDictionary *URLAndID in URLsAndIDs) {
NSString *articleURL = [URLAndID objectForKey:@"URL"];
NSDictionary *request = @{@"token": @"TOKEN",
@"fields": @"text,title,url",
@"url": articleURL};
[DiffbotRequests addObject:request];
}
NSError *error;
NSData *DiffbotRequestsJSONData = [NSJSONSerialization dataWithJSONObject:DiffbotRequests options:kNilOptions error:&error];
NSString *DiffbotRequestsJSONString = [[NSString alloc] initWithData:DiffbotRequestsJSONData encoding:NSUTF8StringEncoding];
NSDictionary …Run Code Online (Sandbox Code Playgroud)