欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

一篇文章教會你使用java爬取想要的資源

 更新時間:2021年08月25日 09:31:46   作者:Talisman丶  
這篇文章主要介紹了使用java爬蟲爬取想要的資源,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下

說明

簡介: 你還在為想要的資源而獲取不到而煩勞嗎?你還在為你不會python而爬取不到資源而煩勞嗎?沒關(guān)系,看完我這一篇文章你就會學(xué)會用java爬取資源,從此不會因此而煩勞,下面我會以爬取京東物品來進行實戰(zhàn)演示?。?!

方法摘要

方法 方法說明
adoptNode(Node source) 試圖把另一文檔中的節(jié)點采用到此文檔。
createAttribute(String name) 創(chuàng)建指定名稱的Attr
createCDATASection(String data) 創(chuàng)建其值為指定字符串的 CDATASection 節(jié)點。
createComment(String data) 創(chuàng)建給定指定字符串的 Comment 節(jié)點。
createDocumentFragment() 創(chuàng)建空 DocumentFragment 對象。
createElement(String tagName) 創(chuàng)建指定類型的元素。
createElementNS(String namespaceURI, String qualifiedName) 創(chuàng)建給定的限定名稱和名稱空間 URI 的元素。
createEntityReference(String name) 創(chuàng)建 EntityReference 對象。
createProcessingInstruction(String target, String data) 創(chuàng)建給定指定名稱和數(shù)據(jù)字符串的 ProcessingInstruction 節(jié)點。
createTextNode(String data) 創(chuàng)建給定指定字符串的 Text 節(jié)點。
getDoctype() 與此文檔相關(guān)的文檔類型聲明(參見 DocumentType)。
getDocumentElement() 這是一種便捷屬性,該屬性允許直接訪問文檔的文檔元素的子節(jié)點。
getDocumentURI() 文檔的位置,如果未定義或 Document 是使用 DOMImplementation.createDocument 創(chuàng)建的,則為 null。
getDomConfig() 調(diào)用 Document.normalizeDocument() 時使用的配置。
getElementsByTagName(String tagname) 按文檔順序返回包含在文檔中且具有給定標(biāo)記名稱的所有 Element 的 NodeList。
getElementById(String elementId) 返回具有帶給定值的 ID 屬性的 Element。
getElementsByTagNameNS(String namespaceURI, String localName) 以文檔順序返回具有給定本地名稱和名稱空間 URI 的所有 Elements 的 NodeList。
getImplementation() 處理此文檔的 DOMImplementation 對象。
getInputEncoding() 指定解析時此文檔使用的編碼的屬性。
getStrictErrorChecking() 指定是否強制執(zhí)行錯誤檢查的屬性。
getXmlEncoding() 作為 XML 聲明的一部分,指定此文檔編碼的屬性。
getXmlStandalone() 作為 XML 聲明的一部分,指定此文檔是否為獨立文檔的屬性。
getXmlVersion() 作為 XML 聲明 的一部分指定此文檔版本號的屬性。
importNode(Node importedNode, boolean deep) 從另一文檔向此文檔導(dǎo)入節(jié)點,而不改變或移除原始文檔中的源節(jié)點;此方法創(chuàng)建源節(jié)點的一個新副本。
normalizeDocument() 此方法的行為如同使文檔通過一個保存和加載的過程,而將其置為 “normal(標(biāo)準(zhǔn))” 形式。
renameNode(Node n, String namespaceURI, String qualifiedName) 重命名 ELEMENT_NODE 或 ATTRIBUTE_NODE 類型的現(xiàn)有節(jié)點。
setDocumentURI(String documentURI) //文檔的位置,如果未定義或 Document 是使用 DOMImplementation.createDocument 創(chuàng)建的,則為 null。
setStrictErrorChecking(boolean strictErrorChecking) 指定是否強制執(zhí)行錯誤檢查的屬性。
setXmlStandalone(boolean xmlStandalone) 作為 XML 聲明 的一部分指定此文檔是否是單獨的的屬性。
setXmlVersion(String xmlVersion) 作為 XML 聲明 的一部分指定此文檔版本號的屬性。

常用的Element節(jié)點方法

得到文檔的根節(jié)點.

Element element = document.getRootElement(); 

得到某節(jié)點的單個子節(jié)點

Element element =root.element("node");

得到某節(jié)點下的所有子節(jié)點并進行遍歷

List nodes = rootElm.elements("node"); 
for (Iterator it = nodes.iterator(); it.hasNext();) { 
  Element element = (Element) it.next(); 
} 

在某個節(jié)點下添加子節(jié)點

Element element = newElement.addElement("node");

刪除某個節(jié)點

Element element = parentElement.remove(childElement);

設(shè)置節(jié)點的文字

ageElm.setText("20"); 

添加一個CDATA節(jié)點

Element element = infoElement.addElement("content");
element .addCDATA(diary.getContent());

實戰(zhàn):爬取B站番劇

Maven

<dependency>
    <groupId>org.jsoup</groupId>
    <artifactId>jsoup</artifactId>
    <version>1.13.1</version>
</dependency>

代碼

步驟

1.打開控制臺檢查網(wǎng)頁的結(jié)構(gòu)

在這里插入圖片描述

2.逐步分析哪些內(nèi)容在哪個標(biāo)簽下,找到該內(nèi)容的class或id

比如此處我們要找到 bang_itme 這個class,然后在找它下面的其他class或者id

在這里插入圖片描述3.

3.完整代碼如下

public class HtmlParseUtil {
    public static void main(String[] args) throws IOException {
        new HtmlParseUtil().myAnime("柯南");
    }

    public void myAnime(String keyWorks) throws IOException {
        String encode = URLEncoder.encode(keyWorks, "UTF-8");
        String url = "https://search.bilibili.com/all?keyword="+encode+"&from_source=web_search"; // 搜索地址
        Document document = Jsoup.parse(new URL(url), 30000);
        Elements elements = document.getElementsByClass("bangumi-item");
        for (Element element : elements) {
            Elements link = element.getElementsByClass("left-img");
            System.out.println(link.attr("href").split("http://")[1]);
            System.out.println(element.getElementsByClass("title").attr("title"));
            System.out.println(element.getElementsByClass("desc").text());
        }
    }
}    

4.執(zhí)行結(jié)果

在這里插入圖片描述

到此這篇關(guān)于一篇文章教會你使用java爬取想要的資源的文章就介紹到這了,更多相關(guān)java爬取資源內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java中的gateway自定義過濾器詳解

    Java中的gateway自定義過濾器詳解

    這篇文章主要介紹了Java中的gateway自定義過濾器詳解,過濾器是指gateway在路由過程中(A地址路由到B地址)生效進行過濾操作的,所有首先你得先配一個地址路由,本文提供了部分實現(xiàn)代碼,需要的朋友可以參考下
    2023-11-11
  • Micronaut框架的簡單使用介紹

    Micronaut框架的簡單使用介紹

    這篇文章主要介紹了Micronaut框架的簡單使用介紹,幫助大家更好的理解和學(xué)習(xí)使用Micronaut,感興趣的朋友可以了解下
    2021-04-04
  • mybatis之foreach用法詳解

    mybatis之foreach用法詳解

    這篇文章主要介紹了mybatis之foreach用法詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • Java中占位符的超全使用方法分享

    Java中占位符的超全使用方法分享

    這篇文章主要為大家詳細介紹了Java中常見的一些占位符的使用方法,例如%d,%s等,文中的示例代碼簡潔易懂,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)學(xué)習(xí)
    2023-05-05
  • eclipse實現(xiàn)DSA數(shù)字簽名

    eclipse實現(xiàn)DSA數(shù)字簽名

    這篇文章主要為大家詳細介紹了eclipse實現(xiàn)DSA數(shù)字簽名算法,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-06-06
  • java枚舉類型-Enum

    java枚舉類型-Enum

    本文詳細介紹了 Java1.5 引入的新特性枚舉中的關(guān)鍵字enum,運用大量的代碼加以解釋,相信可以幫助到正在學(xué)習(xí)該知識的小伙伴,大家可以參考一下
    2021-08-08
  • java實現(xiàn)簡單猜數(shù)字游戲

    java實現(xiàn)簡單猜數(shù)字游戲

    這篇文章主要介紹了java實現(xiàn)簡單猜數(shù)字游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-12-12
  • java條件語句示例詳解

    java條件語句示例詳解

    本文給大家介紹java條件語句,Java 中的條件語句允許程序根據(jù)條件的不同執(zhí)行不同的代碼塊,一個 if 語句包含一個布爾表達式和一條或多條語句,本文結(jié)合示例代碼給大家講解的非常詳細,需要的朋友可以參考下
    2023-05-05
  • 淺談Springboot之于Spring的優(yōu)勢

    淺談Springboot之于Spring的優(yōu)勢

    這篇文章主要介紹了淺談Springboot之于Spring的優(yōu)勢,簡述了在Java EE開發(fā)中遇到的問題,言簡意賅,需要的朋友可以參考下。
    2017-09-09
  • MyBatis深入解讀懶加載的實現(xiàn)

    MyBatis深入解讀懶加載的實現(xiàn)

    顧名思義,懶加載就是因為偷懶了,懶得加載了,只有使用的時候才進行加載。其實,懶加載也加延遲加載,主要以應(yīng)用與Mybatis的關(guān)聯(lián)查詢,按照設(shè)置的延遲規(guī)則,推遲對延遲對關(guān)聯(lián)對象的select查詢
    2022-04-04

最新評論