java爬虫抓取动态网页(jdk1.8、win10、科学上网、eclipse一直想学下写爬虫)
优采云 发布时间: 2021-11-09 20:10java爬虫抓取动态网页(jdk1.8、win10、科学上网、eclipse一直想学下写爬虫)
环境:jdk1.8、win10、科学上网,eclipse
一直想学习写爬虫,满足我的小愿望。刚好有过年的时间,所以研究了一下。网上的信息混杂,所以决定自己整理一份,按照我的步骤来。它必须是可能的。如果你成功了,记得回来喜欢它。
在这种情况下,抓取了一个小视频网站,最终的效果可以是自动下载网站的所有视频,并且每个视频都有自己的名字。
如果要爬取其他网站,代码中很多地方(比如url、url解析、字符串截取、下载位置)需要根据具体页面进行修改,我只能提供一个思路。,当然,如果你想爬这个网站,当然不用改。
一、 思路: 1、获取要爬取的网站首页url。2.对于分页网站(视频网站一般都会分页)分析url分页方式,找到规则3,在每个页面上找到视频页面的url,在视频页面上找到规则4 ,分析url,找出视频的实际下载地址,找到规则5,开始下载6,开始快乐!!!二、步骤:1.面函数,没什么好说的
public static void main(String[] args) throws Exception {
final String SCORE_URL = "https://www.xxxx/xxx";// 主页(手工打码)
final String DOWNLOAD_DIR = "F:/video/";// 下载目录
System.setProperty("https.protocols", "TLSv1,TLSv1.1,TLSv1.2,SSLv3");
System.err.println("爬取子页面...");
List allArticle = getAllVideoPage(SCORE_URL);
System.err.println("爬取视频...");
Map urlMap = getUrlInSource(allArticle);
System.err.println("本次下载文件数量:" + urlMap.size());
System.err.println("开始下载...");
downloadMovie(DOWNLOAD_DIR, urlMap);
}
2.这里网站的视频一般不会放在首页,视频网站一般会分页。所以你需要先分析页面的url,然后分析视频页面的url,然后将所有的视频页面url保存到一个列表中。难点在于页面的url解析
例如,这是一个分页 URL,这有明显的规则。我们只需要修改page=后面的数字就可以得到每个页面的url
然后我们需要分析进入每个视频页面的url,chrome F12,我们来看看
标记的那一行是进入视频页面的url。相信大家都会找到的,就不赘述了。
然后我们需要把href=后面双引号里面的东西剪掉,然后拼接成视频页面的完整url,具体看我的代码
最后,将所有视频页面的网址保存到一个列表中,下一步
<p> /**
* 爬所有视频页 存入一个list
*
* @param source 主页
* @return 视频页 列表
* @throws Exception
*/
private static List getAllVideoPage(String source) throws Exception {
List urls = new ArrayList();
for (int j = 1; j