利用jsoup爬取百度网盘资源分享连接(多线程)

突然有一天就想说能不能用某种方法把百度网盘上分享的资源连接抓取下来,于是就动手了。知乎上有人说过最好的方法就是http://pan.baidu.com/wap抓取,一看果然链接后面的uk值是一串数字,就想到可以自己拼装链接,循环不断的去抽取页面。于是自己分析了下页面结构,就开始了。(uk是10位数的数字,对于0000000001这种uk值还没想到很好的解决办法,对于1000000000这种就可以用uk++来实现不断循环了。)

从一开始写的时候,发现一秒钟就抽取了一个页面,想到之前用的webmagic爬虫里抓取页面就用了java的多线程技术,于是百度。。。直接上代码。

package getBaiduYunURL;

import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;

class mythread implements Runnable{
	private  long count= 1;
	public void run() {
		try{
			 for(this.count=1800011339;this.count<1813454114;this.count++){
				 PrintWriter printWriter = new PrintWriter(new FileWriter(new File("D:/自学/BaiduYunData/Data/url.txt"), true));
				 String url="http://pan.baidu.com/wap/share/home?uk="+this.count;
				 Document doc = Jsoup.connect(url).timeout(60000).get();
				 String title = doc.title();
				 System.out.print(title);
				 Element content = doc.body();
				 Elements dataems=content.select("[data-ac=active]");
				 System.out.println(this.count);
				 for(Element dataem:dataems){
					 Elements lists=dataem.select(".list-item");
					 String name=dataem.attr("data-fn");
					 if(name!=""){
						 System.out.println(name);
						 printWriter.println(name);
						 for(Element listem:lists){
							 String linkHref = url+listem.attr("href");
							 printWriter.println(linkHref);
							 System.out.println(linkHref);
						 }
					 }
				 }
				 printWriter.close();
			 }

		 }catch (IOException e)
		{
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
}
public class MultiThread {
	public static void main(String args[]) {
		mythread my = new mythread();
		for(int i=0;i<10;i++){
			new Thread(my).start();
		}
	}
}

代码如上,很简单,我是把抓取的链接放在txt中,下一步就是把这些资源做成可以在线搜索,和很多网盘搜索一样,但是我这个比较低级。

时间: 2024-10-13 18:13:05

利用jsoup爬取百度网盘资源分享连接(多线程)的相关文章

[PHP] 网盘搜索引擎-采集爬取百度网盘分享文件实现网盘搜索(二)

前情提要:最近使用PHP实现了简单的网盘搜索程序,并且关联了微信公众平台,名字是网盘小说.用户可以通过公众号输入关键字,公众号会返回相应的网盘下载地址.就是这么一个简单的功能,类似很多的网盘搜索类网站,我这个采集和搜索程序都是PHP实现的,全文和分词搜索部分使用到了开源软件xunsearch. 上一篇([PHP] 网盘搜索引擎-采集爬取百度网盘分享文件实现网盘搜索)中我重点介绍了怎样去获取一大批的百度网盘用户,这一篇介绍怎样获得指定网盘用户的分享列表.同样的原理,也是找到百度获取分享列表的接口,

百度网盘爬虫(如何爬取百度网盘)

因为要做去转盘网(分类模式点我),所以一定要爬取网盘资源,本来想自己写一个爬虫挺不容易的,不想分享出来,但最后还是决定了拿给大家一起看吧,毕竟有交流才有进步,有兴趣的朋友也可以看看我写的其他日志或者关注我,会发现去转盘网的大部分技术现在可以说是公开状态,如有对你有帮助还是认真读读吧,下面是爬虫代码,我立马公开: ps:不会python的孩子先去学学python,代码是python写的 我附上点资料:点我下载1 点我下载2 其实还有个磁力站,不过暂时技术不想公开出来,之后也想公开,喜欢的看看:ok

百度网盘资源分享

自己花钱及整理的优质资源,容量达3000多G,有需要可以留言,到时分享给大家,资源截图: 书籍类: 视频类: 独乐乐不如众乐乐,欢迎大家来询 原文地址:https://www.cnblogs.com/kingsonfu/p/8799348.html

打造百度网盘备份利器:自动备份Linux VPS文件和多线程下载百度网盘资源

前一段时间国内的各大网盘百度云盘,金山快盘,360云盘,华为网盘为争夺用户上演空间容量博弈,网盘商们还固执地以为中国的网民都不懂网络技术,可以像某公司那样用一些数字的手段来忽悠用户,参与到网盘商的数字游戏中的公司都心知肚明. 在不需要增加任何网盘上传下载带宽和硬件设备投入的情况下,又可以用TB级别网盘这样的字眼来夺人眼球,在网络上大肆炒作一番,这比用钱买广告来推广网盘有效得多了.在这场网盘炒作中,率先“挑起事非”的两家百度网盘和360网盘获利最多. 尤其是百度网盘,应该算正式成长为国内网盘界中老

博客内的百度网盘资源公开目录下载

本博客下的百度网盘资源公开下载目录,及地址更新. 博客园文档与资料(长期更新, 2015-10-18 Build) https://pan.baidu.com/s/1wuBOpNbim5jBru03AfSAVg PS: 只为大家更快.更好的学习.工作.成长. 原文地址:https://www.cnblogs.com/arxive/p/11616970.html

写了一个百度网盘资源搜索程序

一.引言 古语有云:“活到老学到老”.表达出一种“生命不止,学习不止”的学习进取精神,是一种乐观的激励!作为程序员更应该如此,否则就会被淘汰.今天我所要讲的不是如何去学习,而是怎么在网上找到我们所需求的资源. 二.百度网盘搜索方法 找资源的方法有很多,如:百度,谷歌搜索.而我讲的是如何搜索“百度网盘”里面的资源. 具体方法:在搜索引擎中搜索:site:pan.baidu.com 关键词,如下图.亲测必应,谷歌可以. 三.写了一个程序 为了自己搜索方便,索性写了一个程序去爬取必应的搜索结果,如下图

如何利用工具自动通过百度网盘好友请求并发送消息或文件

在百度网盘营销过程中,特别是资源类相关的网盘帐号,有时需要在自动通过好友请求并发送一些文字消息如(资源介绍)以及公众号二维码图片之类的需求,如果手工操作则非常痛苦,下面介绍如何利用工具来达到自动通过好友请求并发送文字消息或文件. 一,首先下载工具“https://pan.baidu.com/s/13yPBCs9Et_tQ9HVVCu5b2A”: 二,在帐号管理中登录并获取COOKIE,保存后,右键帐号登录. ? 第三步:切换到自动通过好友请求选项卡 ? ①设置每次间隔运行时间,如果要发送消息则勾

如何利用邓西百度网盘批量转存检测工具批量检测百度网盘失效分享链接

做百度网盘营销的小伙伴有时需要分享一大批网盘分享链接,分享完成发布在网站上或者发送给小伙伴后,但是因为百度对资源的审核,有可能过一段时间其中的一些分享链接就失效了,但是分享链接又太多,自已又没挨个去检查,等待别人反馈才知道那个失效了,非常被动. 下面就介绍如何利用工具怎么样批量检测百度网盘分享失效的链接. 一.邓西百度网盘批量转存检测工具下载:https://pan.baidu.com/s/1S7NgHPFPbNCA6IvOeZSeEQ 二.解压并运行程序,如图: ? ①操作类型选择“检测失效”

python 利用selenium爬取百度文库的word文章

今天学习如何使用selenium库来爬取百度文库里面的收费的word文档 from selenium import webdriver from selenium.webdriver.common.keys import Keys from pyquery import PyQuery as pq from selenium.webdriver.support.ui import WebDriverWait from selenium import webdriver import time o