java爬取button_java 爬虫

狗比网络,,,新版的linux上的eclipse还在下载所以来记录一笔。idea界面很不熟悉就放弃。我不造java爬虫框架有什么,先自己满足功能需求再看爬虫框架好用不好用吧。

爬虫就是你爬取一个页面然后找到你想要的数据信息。想起当初愚蠢的我觉得爬虫就是内容。我的愚蠢一直没有变化啊。

爬取页面=下载页面源代码

涉及知识点。java下载某个url的页面源码是如下步骤:

/*建立http连接*/

HttpURLConnection connection = null ;

// 创建远程url连接对象 URL url = new URL(httpurl);//httpurl为你要下载的url // 通过远程url连接对象打开一个连接,强转成httpURLConnection类 connection = (HttpURLConnection) url.openConnection();

// 设置连接方式:get connection.setRequestMethod("GET");

// 设置连接主机服务器的超时时间:15000毫秒 // 发送请求 connection.connect();

/* 获取请求内容就是你要下载的url里面的内容 */

InputStream is = null;//输入流 if (connection.getResponseCode() == 200) {

is=connection.getInputStream();}

2.Java iO流。

这又是个恶心的东西,每年来恶心我几次。

1.输入输出流

2.抽象类 包装类

3.什么是读 什么的写

了解一下。一般这几个问题明白了,就可了。恶心的东西。

3.暂存下代码。。。eclipse 丢github总是很麻烦,为什么不能和c一样简单呢。

这部分就是首先得到url然后根据id class获取自己想要的。

丢几行关键代码。4点再来写。

package hdfs;

import java.io.File;

import java.io.IOException;

import java.util.ArrayList;

import org.jsoup.Jsoup;

import org.jsoup.nodes.Document;

import org.jsoup.nodes.Element;

import org.jsoup.select.Elements;

public class Testjsoup {

public static void main(String[] args) throws IOException {

// TODO Auto-generated method stub

//File input=new File("./copy.html");

//Document doc = Jsoup.parse(input, "UTF-8", "http://example.com/");

String url = "https://www.zhihu.com/people/liu-cheng-51-70/followers?page=1";

Document doc1=Jsoup.connect(url).get();

//System.out.println(doc1.text());

Element e=doc1.select("[class=Button PaginationButton PaginationButton--current Button--plain]").first();

// System.out.println(e.text());

/*for(int i=1;i

{

Document doc = Jsoup.parse(input, "UTF-8", "http://example.com/");

Elements links = doc.select("[class=List-item]");

for(Element l:links)

{

Elements e2=l.select("[class=UserLink-link]");

String href=e2.attr("href");

System.out.println("href:"+href+"\n");//获取关注者的url

href="http:"+href;

message(href);

}

}

*/

}

public static void message(String href) throws IOException

{

Document doc1=Jsoup.connect(href).get();

/***************************获取关注者的名字********************************/

Element name=doc1.select("[class=ProfileHeader-name]").first();

System.out.println(name.text());

/***************************获取关注者的性别******************************/

String e3=doc1.select("meta[itemprop=gender]").get(0).attr("content");

System.out.println(e3);

/**************************获取关注者的最后使用时间***************************/

Element el=doc1.getElementsByClass("List-item").first();

Element e2=el.select("[class=ActivityItem-meta]").first();

Element e4=e2.select("span").last();

System.out.println(e4.text());

/*****************************获取关注者的职业*********************************/

Element e = doc1.getElementsByClass("ProfileHeader-contentBody").first();//当根据name之类,取多个元素的时候

Element career=e.select("[class=ProfileHeader-infoItem]").first();

try {

String c=career.text();

String ret = null;

if(c.indexOf(" ")!=-1)

{

ret=c.substring(0,c.indexOf(" "));

}

System.out.println(ret);//职业 工作地点

} catch (Exception ex) {

System.out.println("无业游民");

}

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值