亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

說(shuō)明

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

方法摘要

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

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

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

Element element = document.getRootElement(); 

得到某節(jié)點(diǎn)的單個(gè)子節(jié)點(diǎn)

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

得到某節(jié)點(diǎn)下的所有子節(jié)點(diǎn)并進(jìn)行遍歷

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

在某個(gè)節(jié)點(diǎn)下添加子節(jié)點(diǎn)

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

刪除某個(gè)節(jié)點(diǎn)

Element element = parentElement.remove(childElement);

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

ageElm.setText("20"); 

添加一個(gè)CDATA節(jié)點(diǎn)

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

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

Maven

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

代碼

步驟

1.打開(kāi)控制臺(tái)檢查網(wǎng)頁(yè)的結(jié)構(gòu)

在這里插入圖片描述

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

比如此處我們要找到 bang_itme 這個(gè)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)于一篇文章教會(huì)你使用java爬取想要的資源的文章就介紹到這了,更多相關(guān)java爬取資源內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java中的gateway自定義過(guò)濾器詳解

    Java中的gateway自定義過(guò)濾器詳解

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

    Micronaut框架的簡(jiǎn)單使用介紹

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

    mybatis之foreach用法詳解

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

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

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

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

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

    java枚舉類(lèi)型-Enum

    本文詳細(xì)介紹了 Java1.5 引入的新特性枚舉中的關(guān)鍵字enum,運(yùn)用大量的代碼加以解釋?zhuān)嘈趴梢詭椭秸趯W(xué)習(xí)該知識(shí)的小伙伴,大家可以參考一下
    2021-08-08
  • java實(shí)現(xiàn)簡(jiǎn)單猜數(shù)字游戲

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

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

    java條件語(yǔ)句示例詳解

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

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

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

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

    顧名思義,懶加載就是因?yàn)橥祽辛耍瑧械眉虞d了,只有使用的時(shí)候才進(jìn)行加載。其實(shí),懶加載也加延遲加載,主要以應(yīng)用與Mybatis的關(guān)聯(lián)查詢(xún),按照設(shè)置的延遲規(guī)則,推遲對(duì)延遲對(duì)關(guān)聯(lián)對(duì)象的select查詢(xún)
    2022-04-04

最新評(píng)論