依赖
xml
<dependency>
<groupId>org.jsoup</groupId>
<artifactId>jsoup</artifactId>
<version>1.17.2</version> <!-- 最新版可去官网查看 -->
</dependency>
编码
java
public static List<VideoDto> parseSearchPage(String keyword, int page,int lim) throws Exception {
String url = "https://search.bilibili.com/all?keyword=" + keyword + "&page=" + page;
Document doc = Jsoup.connect(url)
.userAgent("Mozilla/5.0")
.timeout(10000)
.get();
List<VideoDto> list = new ArrayList<>();
Elements pictures = doc.select("picture");
System.out.println("OK");
int cnt=0;
for (Element picture : pictures) {
String pictureSrc = Objects.requireNonNull(picture.selectFirst("source")).attr("srcset");
String title = Objects.requireNonNull(picture.selectFirst("img")).attr("alt");
VideoDto videoDto = new VideoDto();
videoDto.setPicture(pictureSrc);
videoDto.setTitle(title);
list.add(videoDto);
cnt++;
if(cnt==lim)break;
}
Elements divElements = doc.select("div.bili-video-card__info--right");
cnt=0;
for(Element divElement : divElements){
Element firstLink = divElement.selectFirst("a");
if(firstLink != null){
String link= firstLink.attr("href");
VideoDto videoDto=list.get(cnt);
videoDto.setUrl(link);
list.set(cnt,videoDto);
cnt++;
if(cnt==lim)break;
}
}
return list;
}