信息领域热词分析系统--java爬取CSDN中文章标题即链接
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import org.jsoup.nodes.Document;
import us.codecraft.webmagic.Site;
import us.codecraft.webmagic.Spider;
import us.codecraft.webmagic.processor.PageProcessor;
// 标题和链接获取
//初始化带爬取网页地址
private static List<String> urls() {
List<String> listUrl=new ArrayList<String>();
String[] type=new String[]{"nav/newarticles","nav/news","nav/ai","nav/cloud","nav/db","nav/career","nav/game","nav/engineering","nav/other"};
for(int i=0;i<type.length;i++) {
String url2="https://blog.csdn.net/"+type[i];
listUrl.add(url2);
}
return listUrl;
}
private static String selectDocumentText(String htmlText,String Query) {
Document doc=Jsoup.parse(htmlText);
String select=doc.select(Query).text();
return select;
}
//jsoup根据html字符串和语法获取链接地址
private static String selectDocumentLink(String htmlText,String Query) {
Document doc=Jsoup.parse(htmlText);
String select=doc.select(Query).attr("href");
return select;
}
@Override
public Site getSite() {
return Site.me().setSleepTime(1000).setRetryTimes(10);
}
//编写抽取逻辑
@Override
public void process(Page page) {
page.addTargetRequests(urls());
//定义如何抽取页面信息
List<String> htmls=page.getHtml().xpath("//li[@class='clearfix']/html()").all();
List<JavaBokeModel> javaBokes=new ArrayList<JavaBokeModel>();
for(String html:htmls) {
JavaBokeModel javaBoke=new JavaBokeModel();
//标题和链接
String title=selectDocumentText(html,TITLEQUERY);
String linke=selectDocumentLink(html,TITLEQUERY);
//作者和作者主页
String author=selectDocumentText(html,AUTHORQUERY);
//简介
System.out.println(title+" "+linke+" "+author);
javaBoke.setTitle(title);
javaBoke.setAuthor(author);
javaBoke.setLinke(linke);
javaBokes.add(javaBoke);
}
File.WriteStringToFile2(javaBokes);
public static void main(String[] args) {
long startTime,endTime;
DBUtil.getConnection();
startTime=new Date().getTime();
Spider create=Spider.create(new CSDNPageProcessor());
create.addUrl("https://blog.csdn.net/").thread(5).run();
try {
ps.close();
conn.close();
}catch(Exception e) {
}
endTime=new Date().getTime();
System.out.println("用时为:"+(endTime-startTime)/1000+"s");
}
信息领域热词分析系统--java爬取CSDN中文章标题即链接的更多相关文章
- 信息领域热词分析系统--python切词
利用python将标题切割成词语 import jieba #读取文件 f=open(r"F:\大数据\大作业\爬取到的数据\data1_xinxi.txt",'r') s=f.r ...
- 信息领域热词分析系统--python过滤
利用python过滤去没用的词语,过滤的词语存储在停用文件中. #创建停用词表 def stopwordlist(): stopwords=[line.strip() for line in open ...
- 信息领域热词分析系统--python统计
统计词语出现的频率,并且按从高到低的顺序报错在文件中 def main(): file=open("F:\大数据\大作业\分词后的文件\data4_xinxi.txt",'r') ...
- Java爬取先知论坛文章
Java爬取先知论坛文章 0x00 前言 上篇文章写了部分爬虫代码,这里给出一个完整的爬取先知论坛文章代码. 0x01 代码实现 pom.xml加入依赖: <dependencies> & ...
- 【python爬虫和正则表达式】爬取表格中的的二级链接
开始进公司实习的一个任务是整理一个网页页面上二级链接的内容整理到EXCEL中,这项工作把我头都搞大了,整理了好几天,实习生就是端茶送水的.前段时间学了爬虫,于是我想能不能用python写一个爬虫一个个 ...
- 阿里舆情︱舆情热词分析架构简述(Demo学习)
本节来源于阿里云栖社区,同时正在开发一个舆情平台,其中他们发布了一篇他们所做的分析流程,感觉可以作为案例来学习.文章来源:觉民cloud/云栖社区 平台试用链接:https://prophet.dat ...
- Java爬取B站弹幕 —— Python云图Wordcloud生成弹幕词云
一 . Java爬取B站弹幕 弹幕的存储位置 如何通过B站视频AV号找到弹幕对应的xml文件号 首先爬取视频网页,将对应视频网页源码获得 就可以找到该视频的av号aid=8678034 还有弹幕序号, ...
- java爬取并下载酷狗TOP500歌曲
是这样的,之前买车送的垃圾记录仪不能用了,这两天狠心买了好点的记录仪,带导航.音乐.蓝牙.4G等功能,寻思,既然有这些功能就利用起来,用4G听歌有点奢侈,就准备去酷狗下点歌听,居然都是需要办会员才能下 ...
- Java爬取并下载酷狗音乐
本文方法及代码仅供学习,仅供学习. 案例: 下载酷狗TOP500歌曲,代码用到的代码库包含:Jsoup.HttpClient.fastJson等. 正文: 1.分析是否可以获取到TOP500歌单 打开 ...
随机推荐
- DOM 操作属性
DOM操作就是针对对象的操作 先写一个按钮,<input tupe="button" value="" id="id"> 这 ...
- 友善之臂smart210 3G网卡配置说明
1.命令行输入 3g-ppp /etc/3g-modem/12d1.1446.12d1.1001 2.call-ppp wcdma 3. 你到etc目录里grep一下192.168.1.1 sant ...
- cJSON
http://blog.csdn.net/wangchangshuai0010/article/details/18225423
- java的类型转换问题。int a = 123456;short b = (short)a;System.out.println(b);为什么结果是-7616?
这个从二进制来解释: int 是 32 位,也就是最多能表示长度为 32 位的二进制整数.第一位是符号位,表示正负,0 表示正的,1 表示负的.当首位为 1(为负)时,把所有的位取反(0 变成 1,1 ...
- R: 正则表达式
正则表达式: 例:sub("a","",c("abcd","dcba")): [1] "bcd" ...
- Luogu 3302 [SDOI2013]森林
BZOJ 3123 丑陋的常数,BZOJ 19968ms 卡过. 感觉几个思想都挺经典但是挺套路的. 先考虑不连边的情况怎么做,区间第$k$小,想到主席树,每一个结点维护它到根的前缀和,这样子每一次查 ...
- scau 2015寒假训练
并不是很正规的.每个人自愿参与自愿退出,马哥找题(马哥超nice么么哒). 放假第一周与放假结束前一周 2015-01-26 http://acm.hust.edu.cn/vjudge/contest ...
- 【Android开源】CircleImageView自定义圆形控件的使用
github地址:https://github.com/hdodenhof/CircleImageView package de.hdodenhof.circleimageview; import e ...
- .NET 实体转换辅助类
/// <summary> /// 实体转换辅助类 /// </summary> public class ModelConvertHelper<T> where ...
- unity3d c# http 请求json数据解析
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.Net ...