Java 简单爬虫 代码
这里只演示最简单的一个爬虫
准备:需要导入一个jar包>> jsoup 下载链接
(jsoup 是用于爬虫的一个框架,除此之外的还有jSpider、HTMLUnit 、Jaunt)
import java.io.IOException;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;class SimpleSpider{Document getDoc(String url) throws IOException {Document doc=Jsoup.connect(url).get();return doc;}Elements getElementAs(Document doc) {//cssQuery syntax:https://jsoup.org/apidocs/org/jsoup/select/Selector.htmlElements a=doc.select("a[href]");//finds links (a tags with href attributes) return a;}
}
public class SimpleOne {public static void main(String[] args) throws IOException {SimpleSpider s=new SimpleSpider();Document doc=s.getDoc("https://www.baidu.com/");//System.out.println(s.getElementAs(doc));Elements aSet=s.getElementAs(doc);for(Element i :aSet) {System.out.println(i.attr("href"));//get attr href}System.out.println("end");}}
我现在也只是刚接触,发现利用这些框架的话,其实Java 爬虫看起来也没那么冗余
网页解析起来也不复杂
不过,你如果不借助这些框架的话。。
import java.io.BufferedInputStream;
import java.io.DataInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.MalformedURLException;
import java.net.URL;public class WithNoExtraJar {public static void main(String[] args) {// TODO Auto-generated method stubURL url;InputStream is = null;DataInputStream dis;String line;try {url = new URL("https://www.baidu.com/");is = url.openStream(); // get connectiondis = new DataInputStream(new BufferedInputStream(is));while ((line = dis.readLine()) != null) {System.out.println(line);}} catch (MalformedURLException mue) {mue.printStackTrace();} catch (IOException ioe) {ioe.printStackTrace();} finally {try {is.close();} catch (IOException ioe) {// nothing to see here}}}}
上面只是获取网页源代码的程序,都还没开始解析,就已经一大坨了,看了就头大
所以,还是用框架好。。
除了Java,还有挺多语言也可以写爬虫的
比如说:
Ruby、node.js、python、C++、php
各有特点吧,不过现在最火的是python
Java 的话,我个人认为,多线程不赖了
(Google和百度都查了,真的找不到有人对Java爬虫的评价,噗 好像是故意被冷落了)
Java 简单爬虫 代码相关推荐
- 编写Java网络爬虫代码
好的,我会用中文来回答你的问题. 首先,在编写Java网络爬虫代码之前,你需要了解一些基本的Java知识,并确保你已经安装了Java开发工具包(JDK). 在编写Java爬虫代码时,你可以使用Java ...
- SpringBoot-Jsoup做java简单-爬虫
使用SpringBoot+Jsoup做java简单'爬虫' Jsoup简介 Jsoup是一款java的Html解析器,可以直接解析Html.针对网页提供了相关Api,可以通过Dom.Css.Jquer ...
- python简单爬虫代码-最精简的爬虫 --仅需4行代码(python)
最精简的爬虫 --仅需4行代码(python) 刚刚整理了下爬虫系列,于是乎就开始了第一次的技术分享 今天,我们主要讲述的是思路,思路,思路. 相比起,直接贴代码,思路显的更为重要 当初,自己的坑,希 ...
- 大数据爬虫基础(四)MAVEN的安装配置和使用(下)--JAVA简单爬虫
eclipse maven 环境: windows 10pro x64 jdk1.8 eclipse mars 1.安装设置maven插件 window->preferences->Ins ...
- 爬虫python代码-一则python3的简单爬虫代码
不得不说python的上手非常简单.在网上找了一下,大都是python2的帖子,于是随手写了个python3的.代码非常简单就不解释了,直接贴代码. 代码如下: #test rdp import ur ...
- python简单爬虫代码-python爬虫超简单攻略,带你写入门级的爬虫,抓取上万条信息...
原标题:python爬虫超简单攻略,带你写入门级的爬虫,抓取上万条信息 最近经常有人问我,明明看着教程写个爬虫很简单,但是自己上手的时候就麻爪了...那么今天就给刚开始学习爬虫的同学,分享一下怎么一步 ...
- python简单爬虫代码-一则python3的简单爬虫代码
不得不说python的上手非常简单.在网上找了一下,大都是python2的帖子,于是随手写了个python3的.代码非常简单就不解释了,直接贴代码. 代码如下: #test rdp import ur ...
- python简单爬虫代码-用Python编写一个简单的爬虫
作者信息: Author : 黄志成(小黄) 博客地址: 博客 呐,这是一篇福利教程.为什么这么说呢.我们要爬取的内容是美图网站(嘿嘿,老司机都懂的) 废话不多说.开始今天的表演. 这个图集网站不要问 ...
- python简单爬虫代码-使用Python3.5写简单网络爬虫
<一>用urllib库访问URL并采集网络数据 -1. 直接采集 发送请求,打开URL,打印传回的数据(html文件) - 2. 模拟真实浏览器访问 1)发送http头信息(header) ...
- java简单记事本代码_简单记事本的java程序代码
展开全部 天啊, 冖_Na0 为什么会有62616964757a686964616fe4b893e5b19e31333262343038我编的记事本代码呢???呵呵--你肯定是"请教&quo ...
最新文章
- 机器学习——线性回归数学推导
- 这份程序员的简历刷爆了九月的朋友圈
- 用科幻艺术描绘未知的魅力-人物篇
- MYSQL的函数有哪些?(4.3时间与日期函数)
- fusionsphere读音_hydroxyapatite
- IDEA启动项目报错:Error:(1, 1) java: 非法字符: '\ufeff'
- Matlab——图像平移
- jupyter notebook一些实用技巧
- DedeCMS自定义表单制作和调用办法
- Edit Control中追加文字
- java设置环境变量win7_Windows7系统配置java环境变量的详细教程
- SQL语句——查询语句
- 模仿LordPE写了个PE解析工具
- 【嵌入式模块】DS1302 时钟定时芯片
- linux dns访问日志内容格式,谢烟客---------Linux之DNS请求流程及资源记录定义
- 将ceph与calamari相连(connect ceph servers to calamari)
- python设计一个学生类姓名年龄成绩_C# 编写学生类Student,包含学生姓名,成绩,设计一个友员函数sortDegree(),将学生成绩按大到小排序。...
- 字节跳动确认将自研芯片;美国国土安全部被曝大量购买和使用手机定位数据;谷歌被俄罗斯罚款3.6亿美元 | 每日大事件...
- 彩超探头频率高低的区别_【干货】超声探头及使用技巧
- 我的Android说
热门文章
- 数据结构算法与应用c++语言描述 pdf +源代码,数据结构算法与应用-c++语言描述(清晰版).pdf...
- Vfloopy仿真虚拟软驱写软盘
- Citrix 桌面云 XenApp_XenDesktop_7.18 部署
- Ubuntu 定时锁屏3.0
- 最新手机号段归属地数据库 (2021年4月版) 473101行
- 最新手机号码归属地数据库(2017年4月1日)
- 手机号归属地查询实例
- 关于VLAN划分的项目案例
- 华为2288服务器怎样查看硬盘,华为RH2288H V2磁盘系统测试_华为 FusionServer RH2288 V2_服务器评测与技术-中关村在线...
- 架设传奇时打开DBC数据库出错或读取DBC失败解决方法