如何使用 Jsoup 库(Java HTML 解析库)来采集58同城信息

170 阅读1分钟

使用 Jsoup 库(Java HTML 解析库)来采集58同城信息的简单示例。首先,确保你的项目中包含 Jsoup 的依赖。你可以使用 Maven 或 Gradle 来添加依赖:

image.png 对于 Maven:

<dependency>
    <groupId>org.jsoup</groupId>
    http://www.jshk.com.cn/mb/reg.asp?kefu=xiaoding;//爬虫IP免费获取;
    <artifactId>jsoup</artifactId>
    <version>1.14.3</version>
</dependency>

对于 Gradle:

implementation 'org.jsoup:jsoup:1.14.3'

然后,可以使用以下 Kotlin 代码来实现基本的58同城信息采集:

import org.jsoup.Jsoup
import org.jsoup.nodes.Document
import org.jsoup.nodes.Element

fun main() {
    // 输入58同城的搜索结果页 URL
    val searchUrl = "https://bj.58.com/ershoufang/"  // 请替换为实际搜索结果页的 URL

    // 获取页面内容
    val document: Document = Jsoup.connect(searchUrl).get()

    // 获取搜索结果列表
    val itemList: List<Element> = document.select(".list > li")

    // 遍历并输出信息
    for (item in itemList) {
        val title = item.selectFirst(".title a")?.text() ?: "N/A"
        val price = item.selectFirst(".price strong")?.text() ?: "N/A"
        val location = item.selectFirst(".location")?.text() ?: "N/A"

        println("标题: $title")
        println("价格: $price")
        println("位置: $location")
        println("-".repeat(50))
    }
}

请注意,你需要将 searchUrl 替换为实际58同城搜索结果页的 URL。这个示例假设搜索结果页中的房源信息使用了一些特定的 CSS 类名,你可能需要根据实际情况修改选择器。