如何使用JSOUP从网站获取数据

时间:2019-10-07 10:56:41

标签: android web-scraping jsoup

我想从此页面获取“夹具”数据:[链接]使用jsoup,但是我不知道如何获取数据。

1 个答案:

答案 0 :(得分:1)

  1. 将Jsoup包含在gradle中

    implementation "org.jsoup:jsoup:1.11.3"
    
  2. 连接到页面

    Document doc = Jsoup.connect('url').get();
    
  3. 通过id或xpath选择并获取元素...

    Elements el  = doc.getElementsByClass("col");
        for (int i = 0; i < el.size(); i++) {
            if (el.get(i).classNames().contains("col1")) {
                Log.d("EL", el.html());
            }
            if (el.get(i).classNames().contains("col2")) {
                Log.d("EL", el.html());
            }
            if (el.get(i).classNames().contains("col3")) {
                Log.d("EL", el.html());
            }
        }
    

p.s。如果您直接在活动中调用Jsoup.connect,则需要自己处理NetworkOnMainThreadException会引发final class MultiSliderSwiftUI: UIViewRepresentable { private let valueChanged: ([CGFloat]) -> Void init(valueChanged: @escaping ([CGFloat]) -> Void) { self.valueChanged = valueChanged } func makeUIView(context: UIViewRepresentableContext<MultiSliderSwiftUI>) -> MultiSlider { let slider = MultiSlider() slider.addTarget(self, action: #selector(sliderChanged(_:)), for: .valueChanged) return slider } func updateUIView(_ uiView: MultiSlider, context: UIViewRepresentableContext<MultiSliderSwiftUI>) { } @objc func sliderChanged(_ slider: MultiSlider) { valueChanged(slider.value) } }