隔壁厂员工进局子了!

👇👇关注后回复 “进群” ,拉你进程序员交流群👇👇

作者丨鱼皮

来源丨程序员鱼皮(ID:coder_yupi)

有些技术,不能乱用!

大家好,我是鱼皮,今天分享点轻松的小技术知识~

提到 “程序员” 和 “局子”,你会联想到什么呢?

我首先想到的就是黑客,每年都有那么一批 “有志之士”,利用自己的技术去攻击别人的电脑、违反网络安全。

这不,最近我也被人盯上了,几个网站全部被大规模的 DDOS 攻击了。我把头发耗光了都没想明白,明明我这几个网站又不盈利,您攻击我干嘛呢?

94e1a2d680d70e74707f8700332093c9.png

哎,不过怎么说呢,毕竟现在攻击别人网站的成本实在是太低了,网上很多现成的软件和代码,直接下载下来,输入目标,点下按钮,指哪打哪!

然后,搞不好你就进局子了。

d4a7b50d3ba1a2f811ea2f1fdbad3a35.png

除了黑客外,我第二个想到的就是爬虫,简单的说就是从网站上抓取数据,比如从表情包网站抓取图片。

俗话说的好,爬虫学的好,局子进的早。

爬虫虽然不像黑客攻击那样直接,但同样会对网站和企业造成威胁。比如爬虫的频率过高,可能影响网站的正常运营;爬虫的范围太大,可能会侵犯原网站的权益;非法爬取数据,可能会侵犯用户的隐私。

4ca8c3e20147a57fb3839309ed115a6f.png

虽然使用爬虫可能有风险,但对于程序员来说,我们最好都去学习下爬虫。一方面是爬虫这种技术它的应用场景太多了,是获取数据必备的神技;另一方面只有你了解一项技术,才能更好地防范它。

如今实现爬虫也非常简单,基本什么编程语言都有现成的爬虫框架和类库,今天我就给大家分享一个超级无敌简单易用的 Java 爬虫库 —— jsoup

友情提示,适度爬虫益脑,过度爬虫伤身,请将技术用到正道!

jsoup

介绍

Java 爬虫库有很多,比如 crawler4j 等,但鱼皮独爱 jsoup,因为它用起来真的是太简单方便了!基本可以满足大部分简单的爬虫需求。

说是爬虫库,其实 jsoup 本质上是一款 Java 的 HTML 解析器,作用是从一段网页代码中提取出自己想要的片段。而这,正是爬虫中不可或缺的一步。

举个例子,假如我们要从一篇文章中得到作者的姓名,完整的网页代码可能是这样的:

<title>文章页</title>
<body>
  <h1>文章标题</h1>
  <div>作者姓名</div>
  <p>文章内容。。。</p>
</body>

那怎么从中取出作者姓名呢?

最直接的方式就是,用正则表达式匹配字符串,找到被 "<div>" 包裹的内容。

但那样太麻烦了,网页的内容灵活多变,有多少同学能写出符合要求的正则表达式呢?

因此,一般我们都会用到网页解析库,像 jsoup,支持使用类似前端 CSS 选择器的语法来解析和提取网页内容。

使用

它的用法真的很简单,直接打开 jsoup 官网,引入它。

然后只需 1 行代码,就能向网站发送请求,从而获取到页面内容:

Document doc = Jsoup
    .connect("https://yupi.icu")
    .get();

jsoup 会自动将网页内容封装到 Document 对象中,接下来,我们要取什么内容都很方便了:

// 取网页标题
String title = doc.title();
// 用选择器语法取多个网页链接
Elements lines = doc.select("#box a");
for (Element line : lines) {
    // 获取链接标题
    line.attr("title");
    // 获取链接 url
    line.absUrl("href");
}

此外,jsoup 还有处理网页数据的功能,也很简单,跟着官方文档提供的示例代码,很轻松就能上手~

b5f630a54c52d5573c18ad7693eeca09.png
jsoup 官网

当然,jsoup 最主要的用途还是解析文档,真正的爬虫场景,往往没那么简单,感兴趣的朋友也可以去学学分布式爬虫框架、模拟登录、IP 代理池、无头浏览器、反爬、逆向等技术。



以上就是本期分享,我是鱼皮,点赞 + 在看 还是要求一下的,祝大家都能心想事成、发大财、行大运。

fec2b1d6d5f97037a08619b06ecafc77.png

-End-

最近有一些小伙伴,让我帮忙找一些 面试题 资料,于是我翻遍了收藏的 5T 资料后,汇总整理出来,可以说是程序员面试必备!所有资料都整理到网盘了,欢迎下载!

d092a4c75b9f27fb35c843dac4325ff9.png

点击👆卡片,关注后回复【面试题】即可获取

在看点这里23ca9dc8d20ce6aa1b29811b6ad965fc.gif好文分享给更多人↓↓

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值