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

标签: 利用 jsoup 百度网盘 | 发表时间:2014-10-28 09:47 | 作者:ldldong
出处:http://blog.csdn.net

       突然有一天就想说能不能用某种方法把百度网盘上分享的资源连接抓取下来,于是就动手了。知乎上有人说过最好的方法就是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中,下一步就是把这些资源做成可以在线搜索,和很多网盘搜索一样,但是我这个比较低级。


作者:ldldong 发表于2014-10-28 9:47:41 原文链接
阅读:1 评论:0 查看评论

相关 [利用 jsoup 百度网盘] 推荐:

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

- - CSDN博客推荐文章
       突然有一天就想说能不能用某种方法把百度网盘上分享的资源连接抓取下来,于是就动手了. 知乎上有人说过最好的方法就是http://pan.baidu.com/wap抓取,一看果然链接后面的uk值是一串数字,就想到可以自己拼装链接,循环不断的去抽取页面. 于是自己分析了下页面结构,就开始了.

[Android实例] 利用Jsoup解析Html实现的Android招聘信息大全

- - CSDN博客推荐文章
看到很多招聘网站都没有推出招聘信息客户端,想来利用现成的资源,解析他们网站上提供招聘信息,这里就利用了Jsoup来解析HTML中的数据,实现整理归纳,然后显示的一个程序,也算是一个学习的程序吧,这里,我们先看一下图片,以下就程序源码. 源码下载: 点击打开链接. 作者:kangkangz4 发表于2011-12-13 11:09:34 原文链接.

jsoup select 选择器

- - 编程语言 - ITeye博客
采用CSS或类似jquery 选择器(selector)语法来处理HTML文档中的数据. 利用方法: Element.select(String selector)和 Elements.select(String selector). Jsoup的元素支持类似CSS或(jquery)的选择器语法的查找匹配的元素,可实现功能强大且鲁棒性好的查询.

JSOUP实现简单爬虫

- - ITeye博客
这个说是简单爬虫 其实连个爬虫也算不上吧 功能太精简了.... 流程很简单: 输入几个初始的网页 然后通过JSOUP获取网页中的a标签的href的值. 接着把新得到的地址放入任务队列中. 实现中的worker是一个单线程的派发器 用于产生Parser. Parser用于完成网页的保存 网页的解析 以及入队列操作.

浅谈jsoup网页抓取技术

- - CSDN博客互联网推荐文章
        最近初步接触HTML的页面抓取技术,之前曾涉及较多的是XML解析,对于XML解析方法非常的多,使用dom4j是最方便的. HTML解析似乎用途会更多一些,对于HTML的页面解析却也不甚了解. 查了一些资料,了解到了jsoup页面解析技术,jsoup是一款java的HTML解析器,可以直接解析某个URL地址、HTML文本内容,它提供了一套非常省力的API,可通过DOM,CSS以及类似于jquery的操作方法来取出和操作数据.

使用JSoup解析HTML文件

- - Java译站
HTML是WEB的核心,互联网中你看到的所有页面都是HTML,不管它们是由JavaScript,JSP,PHP,ASP或者是别的什么WEB技术动态生成的. 你的浏览器会去解析HTML并替你去渲染它们. 不过如果你需要自己在Java程序中解析HTML文档并查找某些元素,标签,属性或者检查某个特定的元素是否存在的话,那又该如何呢.

使用 jsoup 对 HTML 文档进行解析和操作

- - 互联网旁观者
Java 程序在解析 HTML 文档时,相信大家都接触过 htmlparser 这个开源项目,我曾经在 IBM DW 上发表过两篇关于 htmlparser 的文章,分别是: 从 HTML 中攫取你所需的信息和 扩展 HTMLParser 对自定义标签的处理能力. 但现在我已经不再使用 htmlparser 了,原因是 htmlparser 很少更新,但最重要的是有了 jsoup.

jsoup使用选择器语法来查找元素

- - ITeye博客
jsoup elements对象支持类似于Jquery的选择器语法,来实现非常强大和灵活的查找功能. Element.select(String selector) 和. Elements.select(String selector) 方法实现:. 这个 select 方法在. Elements对象中都可以使用.

Jsoup-简单优雅的HTML dom解析工具

- - CSDN博客Web前端推荐文章
最近在做一个项目,需要在线从官网上下载选手的图片、名称信息,即做一个简易的网络爬虫,实时抓取最新官网选手数据. 在网上搜了很多开源工具,一开始试的是webharvest,搞了一个上午,终于被其奇怪的配置文件搞怕了,我就是想链接下载一个在线的HTML页面,然后解析其DOM元素,没有更好的工具吗. 终于,在google上找到了Jsoup,其官网( http://jsoup.org/)上的demo神奇的只有两句话.

Jsoup获取全国地区数据(省市县镇村) - liushaofeng.cn

- - 博客园_首页
  最近手头在做一些东西,需要一个全国各地的地域数据,从省市区到县镇乡街道的. 各种度娘,各种谷歌,都没找到一个完整的数据. 最后功夫不负有心人,总算找到一份相对来说比较完整的 数据,但是这里的数据也只是精确到镇级别,没有村一级的数据(后来通过分析数据源我知道了为什么,呵呵),在加上博主提供的有些数据存在冗余,对于有强迫症和追求完美的我,心想着我一定要自己动手去把这部分数据给爬取出来.