加入收藏 | 设为首页 | 会员中心 | 我要投稿 莱芜站长网 (https://www.0634zz.com/)- 云连接、建站、智能边缘云、设备管理、大数据!
当前位置: 首页 > 编程开发 > Python > 正文

1. Grabs All Hyperlinks

发布时间:2020-07-29 11:12:57 所属栏目:Python 来源:互联网
导读:原文地址:http://www.mkyong.com/java/jsoup-html-parser-hello-world-examples/Jsoup, a HTML parser, its “jquery-like” and “regex” selector syntax is very easy to use and flexible enough to get whatever you want. Below are three examples t

原文地址:http://www.mkyong.com/java/jsoup-html-parser-hello-world-examples/

,a HTML parser,its “jquery-like” and “regex” selector syntax is very easy to use and flexible enough to get whatever you want. Below are three examples to show you how to use Jsoup to get links,images,page title and “div” element content from a HTML page.

Download jsoupThe jsoup is available in Maven central repository. For non-Maven user,just download it from.

1. Grabs All Hyperlinks

This example shows you how to use jsoup to get page’s title and grabs all links from “google.com”.

<span class="token keyword">import org<span class="token punctuation">.jsoup<span class="token punctuation">.nodes<span class="token punctuation">.Document<span class="token punctuation">;
<span class="token keyword">import org<span class="token punctuation">.jsoup<span class="token punctuation">.nodes<span class="token punctuation">.Element<span class="token punctuation">;
<span class="token keyword">import org<span class="token punctuation">.jsoup<span class="token punctuation">.select<span class="token punctuation">.Elements<span class="token punctuation">;

<span class="token keyword">import java<span class="token punctuation">.io<span class="token punctuation">.IOException<span class="token punctuation">;

<span class="token keyword">public <span class="token keyword">class <span class="token class-name">HTMLParserExample1 <span class="token punctuation">{

<span class="token keyword"&gt;public <span class="token keyword"&gt;static <span class="token keyword"&gt;void <span class="token function"&gt;main<span class="token punctuation"&gt;(String<span class="token punctuation"&gt;[<span class="token punctuation"&gt;] args<span class="token punctuation"&gt;) <span class="token punctuation"&gt;{

    Document doc<span class="token punctuation"&gt;;
    <span class="token keyword"&gt;try <span class="token punctuation"&gt;{

        <span class="token comment"&gt;// need http protocol
        doc <span class="token operator"&gt;= Jsoup<span class="token punctuation"&gt;.<span class="token function"&gt;connect<span class="token punctuation"&gt;(<span class="token string"&gt;"http://google.com"<span class="token punctuation"&gt;)<span class="token punctuation"&gt;.<span class="token function"&gt;get<span class="token punctuation"&gt;(<span class="token punctuation"&gt;)<span class="token punctuation"&gt;;

        <span class="token comment"&gt;// get page title
        String title <span class="token operator"&gt;= doc<span class="token punctuation"&gt;.<span class="token function"&gt;title<span class="token punctuation"&gt;(<span class="token punctuation"&gt;)<span class="token punctuation"&gt;;
        System<span class="token punctuation"&gt;.out<span class="token punctuation"&gt;.<span class="token function"&gt;println<span class="token punctuation"&gt;(<span class="token string"&gt;"title : " <span class="token operator"&gt;+ title<span class="token punctuation"&gt;)<span class="token punctuation"&gt;;

        <span class="token comment"&gt;// get all links
        Elements links <span class="token operator"&gt;= doc<span class="token punctuation"&gt;.<span class="token function"&gt;select<span class="token punctuation"&gt;(<span class="token string"&gt;"a[href]"<span class="token punctuation"&gt;)<span class="token punctuation"&gt;;
        <span class="token keyword"&gt;for <span class="token punctuation"&gt;(Element link <span class="token operator"&gt;: links<span class="token punctuation"&gt;) <span class="token punctuation"&gt;{

            <span class="token comment"&gt;// get the value from href attribute
            System<span class="token punctuation"&gt;.out<span class="token punctuation"&gt;.<span class="token function"&gt;println<span class="token punctuation"&gt;(<span class="token string"&gt;"nlink : " <span class="token operator"&gt;+ link<span class="token punctuation"&gt;.<span class="token function"&gt;attr<span class="token punctuation"&gt;(<span class="token string"&gt;"href"<span class="token punctuation"&gt;)<span class="token punctuation"&gt;)<span class="token punctuation"&gt;;
            System<span class="token punctuation"&gt;.out<span class="token punctuation"&gt;.<span class="token function"&gt;println<span class="token punctuation"&gt;(<span class="token string"&gt;"text : " <span class="token operator"&gt;+ link<span class="token punctuation"&gt;.<span class="token function"&gt;text<span class="token punctuation"&gt;(<span class="token punctuation"&gt;)<span class="token punctuation"&gt;)<span class="token punctuation"&gt;;

        <span class="token punctuation"&gt;}

    <span class="token punctuation"&gt;} <span class="token keyword"&gt;catch <span class="token punctuation"&gt;(<span class="token class-name"&gt;IOException e<span class="token punctuation"&gt;) <span class="token punctuation"&gt;{
        e<span class="token punctuation"&gt;.<span class="token function"&gt;printStackTrace<span class="token punctuation"&gt;(<span class="token punctuation"&gt;)<span class="token punctuation"&gt;;
    <span class="token punctuation"&gt;}

<span class="token punctuation"&gt;}

<span class="token punctuation">}

Output

link : http://www.google.com.my/imghp?hl=en&amp;tab=wi
text : Images

link : http://maps.google.com.my/maps?hl=en&amp;tab=wl
text : Maps

//omitted for readability

NoteIt’s recommended to specify a “userAgent” in Jsoup,to avoid HTTP 403 error messages.

<pre class=" language-java"><code class=" language-java">Document doc <span class="token operator">= Jsoup<span class="token punctuation">.<span class="token function">connect<span class="token punctuation">(<span class="token string">"http://anyurl.com"<span class="token punctuation">)
<span class="token punctuation">.<span class="token function">userAgent<span class="token punctuation">(<span class="token string">"Mozilla"<span class="token punctuation">)
<span class="token punctuation">.<span class="token function">get<span class="token punctuation">(<span class="token punctuation">)<span class="token punctuation">;

2. Grabs All Images

The second example shows you how to use the Jsoup regex selector to grab all image files (png,jpg,gif) from “yahoo.com”.

<span class="token keyword">import org<span class="token punctuation">.jsoup<span class="token punctuation">.Jsoup<span class="token punctuation">;
<span class="token keyword">import org<span class="token punctuation">.jsoup<span class="token punctuation">.nodes<span class="token punctuation">.Document<span class="token punctuation">;
<span class="token keyword">import org<span class="token punctuation">.jsoup<span class="token punctuation">.nodes<span class="token punctuation">.Element<span class="token punctuation">;
<span class="token keyword">import org<span class="token punctuation">.jsoup<span class="token punctuation">.select<span class="token punctuation">.Elements<span class="token punctuation">;

<span class="token keyword">import java<span class="token punctuation">.io<span class="token punctuation">.IOException<span class="token punctuation">;

(编辑:莱芜站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读