java爬虫抓取网页数据(网络爬虫的基本工作流程及流程)
优采云 发布时间: 2021-10-19 22:00java爬虫抓取网页数据(网络爬虫的基本工作流程及流程)
本文主要介绍一个网络爬虫的小案例。有很好的参考价值。跟小编一起来看看吧
网络爬虫(也称为网络蜘蛛、网络机器人,在FOAF 社区中,更常见的是网络追逐者),是一种程序或脚本,可以根据一定的规则自动抓取万维网上的信息。它已被广泛使用。用于互联网领域。搜索引擎利用网络爬虫抓取网页、文档,甚至图片、音频、视频等资源,通过相应的索引技术将这些信息组织起来,提供给搜索用户查询。网络爬虫也为中小型网站的推广提供了有效的途径。网站 搜索引擎爬虫优化曾经风靡一时。
网络爬虫的基本工作流程如下:
1.首先选择一些精心挑选的*敏*感*词*网址;
2.将这些URL放入URL队列进行抓取;
3. 从待爬取的URL队列中取出待爬取的URL,解析DNS,获取主机IP,下载该URL对应的网页,并存入下载的网页库中。另外,将这些 URL 放入爬取的 URL 队列中。
4.对抓取到的URL队列中的URL进行分析,分析其中的其他URL,将这些URL放入待抓取的URL队列中,从而进入下一个循环。
当然,我不明白我上面说的。以我目前的理解,我们请求一个 URL,服务器返回给我们一个超大文本,我们的浏览器可以将这个超大文本解析成我们所说的我们看到的华丽。页面
那么,我们只需要把这个超大文本当成一个足够大的String字符串就可以了。
下面是我的代码
package main.spider; import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import org.jsoup.nodes.Element; import org.jsoup.select.Elements; import java.io.IOException; /** * Created by 1755790963 on 2017/3/10. */ public class Second { public static void main(String[] args) throws IOException { System.out.println("begin"); Document document = Jsoup.connect("http://tieba.baidu.com/p/2356694991").get(); String selector="div[class=d_post_content j_d_post_content clearfix]"; Elements elements = document.select(selector); for (Element element:elements){ String word= element.text(); if(word.indexOf("@")>0){ word=word.substring(0,word.lastIndexOf("@")+7); System.out.println(word); } System.out.println(word); } } }
我在这里使用了提供的 jsoup jar 包。Jsoup 是一个 Java HTML 解析器,可以直接解析 URL 地址和 HTML 文本内容。它提供了一个非常省力的API,可以通过DOM、CSS和类似jQuery的操作方法来检索和操作数据。
代码中,我们可以直接使用Jsoup类,导出Jsoup的connect()方法。该方法返回一个org.jsoup.Connection对象,参数为网站的url地址。Connection 对象有一个 get() 方法返回 Document 对象
document对象的select方法可以返回一个Elements对象,Elements对象是Element对象的集合,但是select()方法需要我们传入一个String参数,也就是我们的selector
字符串选择器="div[class=d_post_content j_d_post_content clearfix]";
我们的选择器语法类似于 jquery 的选择器语法。您可以在 html 页面中选择元素。选中后可以方便的进行Elements集合,通过Element的text()方法获取html中的代码
这样一个最简单的网络爬虫就完成了。
我选择的网站是豆瓣。留下你的邮箱,我给你发百度这样的邮箱贴吧,我取大家的邮箱
附上结果:
以上是本文的全部内容。希望本文的内容能给大家的学习或工作带来一些帮助。同时希望多多支持html中文网站!
以上就是网络爬虫案例分析的详细内容。更多详情请关注其他相关html中文网站文章!