資源簡介
基于Java的有關Bilibili彈幕截取的小程序,主要涉及簡單的JavaFX和爬蟲技術

代碼片段和文件信息
package?fx.com;
import?java.io.BufferedReader;
import?java.io.InputStreamReader;
import?java.io.OutputStreamWriter;
import?java.net.HttpURLConnection;
import?java.net.URL;
import?java.net.URLEncoder;
import?java.util.regex.Matcher;
import?java.util.regex.Pattern;
import?javafx.collections.FXCollections;
import?javafx.collections.ObservableList;
public?class?ConnectionDanMu
{
private?String?request_url?=?““;
private?String?request_number?=?““;
private?HttpURLConnection?conn;
public?ConnectionDanMu()?
{
}
public?String?getRequest_url()
{
return?request_url;
}
public?void?setRequest_url(String?request_url)
{
this.request_url?=?request_url;
}
public?String?getRequest_number()
{
return?request_number;
}
public?void?setRequest_number(String?request_number)
{
this.request_number?=?request_number;
}
public?boolean?connection()?
{
try
{
URL?url?=?new?URL(request_url);
conn?=?(HttpURLConnection)url.openConnection();
conn.setDoInput(true);
conn.setDoOutput(true);
conn.setRequestMethod(“POST“);
conn.setUseCaches(false);
conn.setInstanceFollowRedirects(true);
conn.setRequestProperty(“Content-Type“?“application/x-www-form-urlencoded“);
conn.connect();
return?true;
}
catch?(Exception?e)
{
System.out.println(“連接錯誤“);
return?false;
}
}
public?String?getDanMuData()?
{
try
{
OutputStreamWriter?writer?=?new?OutputStreamWriter(conn.getOutputStream());
String?post_value1?=?“roomid=“?+?URLEncoder.encode(request_number?“UTF-8“);
String?post_value2?=?“&csrf_token=“?+?URLEncoder.encode(“8bc6f1dc9e2e9e0e38ccc36e45da3dfa“?“UTF-8“);
String?post_value3?=?“&csrf=“?+?URLEncoder.encode(“8bc6f1dc9e2e9e0e38ccc36e45da3dfa“?“UTF-8“);
String?post_value4?=?“&visit_id=“?+?URLEncoder.encode(““?“UTF-8“);
String?post_value?=?post_value1?+?post_value2?+?post_value3?+?post_value4;
writer.write(post_value);
writer.flush();
writer.close();
BufferedReader?reader?=?new?BufferedReader(new?InputStreamReader(conn.getInputStream()));
String?rl?=?““;
String?data?=?““;
while((rl?=?reader.readLine())?!=?null)?
{
data?=?data?+?rl;
}
// System.out.println(data);
reader.close();
return?data;
}
catch?(Exception?e)
{
System.out.println(“獲取數據錯誤“);
e.printStackTrace();
return?null;
}
}
public?static?ObservableList?findData(String?data)
{
String?str_value?=?data.replaceAll(“vip“?“\r\n“);
String?pat?=?“text(.*)isadmin“;
Pattern?pattern?=?Pattern.compile(pat);
Matcher?matcher?=?pattern.matcher(str_value);
ObservableList?list?=?FXCollections.observableArrayList();
while(matcher.find())?
{
String?temp_data?=?matcher.group(
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????303??2019-03-22?21:06??Bilibili\.classpath
?????文件????????318??2019-04-10?21:47??Bilibili\.idea\artifacts\Bilibili_jar.xm
?????文件????????138??2019-03-28?20:36??Bilibili\.idea\encodings.xm
?????文件????????267??2019-03-28?20:37??Bilibili\.idea\misc.xm
?????文件????????263??2019-03-28?20:37??Bilibili\.idea\modules.xm
?????文件??????15265??2019-04-10?22:12??Bilibili\.idea\workspace.xm
?????文件????????384??2019-03-22?21:06??Bilibili\.project
?????文件????????598??2019-03-22?21:06??Bilibili\.settings\org.eclipse.jdt.core.prefs
?????文件?????392704??2019-04-10?22:10??Bilibili\bilibili.exe
?????文件????????448??2019-03-28?20:37??Bilibili\Bilibili.iml
?????文件???????5547??2019-04-10?21:42??Bilibili\bin\fx\com\ConnectionDanMu.class
?????文件????????944??2019-04-10?21:42??Bilibili\bin\fx\com\DanMuData.class
?????文件???????1428??2019-04-10?21:42??Bilibili\bin\fx\com\DanMuService$1.class
?????文件???????1115??2019-04-10?21:42??Bilibili\bin\fx\com\DanMuService.class
?????文件???????1723??2019-04-10?21:42??Bilibili\bin\fx\com\Main$1.class
?????文件???????1719??2019-04-10?21:42??Bilibili\bin\fx\com\Main$2.class
?????文件???????1723??2019-04-10?21:42??Bilibili\bin\fx\com\Main$3.class
?????文件???????1894??2019-04-10?21:42??Bilibili\bin\fx\com\Main$4.class
?????文件???????1803??2019-04-10?21:42??Bilibili\bin\fx\com\Main$5.class
?????文件???????1500??2019-04-10?21:42??Bilibili\bin\fx\com\Main$6.class
?????文件???????4421??2019-04-10?21:42??Bilibili\bin\fx\com\Main.class
?????文件?????????43??2019-04-10?21:46??Bilibili\bin\me
?????文件??????13265??2019-04-10?21:47??Bilibili\classes\artifacts\Bilibili_jar\Bilibili.jar
?????文件???????4681??2019-03-28?21:47??Bilibili\src\fx\com\ConnectionDanMu.java
?????文件????????592??2019-03-22?22:03??Bilibili\src\fx\com\DanMuData.java
?????文件????????786??2019-03-28?21:47??Bilibili\src\fx\com\DanMuService.java
?????文件???????5477??2019-03-28?21:47??Bilibili\src\fx\com\Main.java
?????文件?????????43??2019-04-10?21:46??Bilibili\src\me
?????目錄??????????0??2019-04-10?21:42??Bilibili\bin\fx\com
?????目錄??????????0??2019-04-10?21:47??Bilibili\classes\artifacts\Bilibili_jar
............此處省略16個文件信息
評論
共有 條評論