iT邦幫忙

2024 iThome 鐵人賽

DAY 29
0

/可以使用 Jsoup 這個庫來解析 HTML 並從網頁上提取數據。

以下簡單的從一個網站提取標題和部分內容。

步驟:

  1. 添加 Jsoup 依賴:
    如果你使用 Maven 或 Gradle,添加以下依賴:

    • Maven:
      <dependency>
          <groupId>org.jsoup</groupId>
          <artifactId>jsoup</artifactId>
          <version>1.15.3</version>
      </dependency>
      
    • Gradle:
      implementation 'org.jsoup:jsoup:1.15.3'
      
  2. 撰寫爬蟲程式:
    這個範例會從網站上抓取所有的標題 (h1) 並打印出來。

    import org.jsoup.Jsoup;
    import org.jsoup.nodes.Document;
    import org.jsoup.nodes.Element;
    import org.jsoup.select.Elements;
    
    public class WebCrawlerExample {
        public static void main(String[] args) {
            try {
                // 連接到目標網站並獲取 HTML 文件
                Document doc = Jsoup.connect("https://example.com").get();
    
                // 選擇你想抓取的標籤,例如<h1>標題
                Elements titles = doc.select("h1");
    
                // 打印所有<h1>標籤內容
                for (Element title : titles) {
                    System.out.println("Title: " + title.text());
                }
    
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }
    

程式解說:

  • Jsoup.connect(url).get(): 這會從指定的 URL 下載並解析 HTML 網頁內容。
  • doc.select("h1"): 使用 CSS 選擇器來選擇所有的 <h1> 標籤。這裡可以替換成你想抓取的其他標籤,例如 <p><a> 等等。
  • title.text(): 獲取標籤內的純文字。

注意事項:

  • 如果網站有防止爬蟲的機制,可能需要處理網站的 robots.txt 文件、頁面延遲載入(JavaScript)、或 IP 限制。
  • 可以使用一些爬蟲框架如 Selenium 來模擬使用者操作,應對動態內容的抓取。

可進一步拓展功能,比如抓取多頁內容、儲存數據到本地文件或資料庫,或是設定代理來隱藏 IP 地址。
明天來介紹什麼是爬蟲軟體,整理這個月的所學及使用過的語法~
(用法部分取用生成式軟體以及每天紀錄為初階學習)


上一篇
DAY28 初級AI 👩🏻‍💻試用Java撰寫簡單決策樹
下一篇
DAY30總體回顧🎞️用Java學習到了什麼
系列文
從0開始—初階程式語言學習者的必經之路30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言