Я пытался интегрировать некоторый веб-анализ, который я сделал со Skrape {it} 0.6.0 в intellij, в студийный проект android.
У меня было много ошибок, как только я добавил зависимость в Gradle должна была исключить 'META-INF / DEPENDENCIES' в Gradle, и были другие, которые были перечислены в известных проблемах git, но не могли понять, как избавиться (проблема 60 MatchersKt не может быть представлена в формат dex)
см. здесь: https://github.com/skrapeit/skrape.it/issues/60
Поэтому я решил go для последнего выпуска (его альфа, но я был уверен, что все в порядке, я ранее имело отношение к разработчику christian-draeger , что было очень полезно), единственная проблема в том, что мой код больше не работает. Я полагал, что некоторые изменения в элементах и элементах были изменены на DocElement, а атрибуты DocElements и href стали немного другими ... но бит, который я не могу понять, является частью кода skrape, а extract теперь red (выделено ** в этом коде ниже)
старый код отлично работает с 0.6.0
//prep for skrape result
val fullLinks : MutableList<String> = arrayListOf()
//skrape newsdesk
val IncidentData = skrape { url = "http://www.dsfire.gov.uk/News/Newsdesk/IncidentsPast7days.cfm?siteCategoryId=3&T1ID=26&T2ID=35"
extract {
MyScrapedData(
daysDetails = DocElement("div.CollapsiblePanel").text(), //get number of incidents details
links = DocElements("table tr td a").eachHref //get href links
)
}
}
новый код с использованием 'it.skrape: skrapeit-core: 1.0.0 -alpha4.1 '
fun main() {
//prep for skrape result
val fullLinks : MutableList<String> = arrayListOf()
//skrape newsdesk
val IncidentData = **skrape** { url = "http://www.dsfire.gov.uk/News/Newsdesk/IncidentsPast7days.cfm?siteCategoryId=3&T1ID=26&T2ID=35"
**extract** {
MyScrapedData(
daysDetails = DocElement("div.CollapsiblePanel").text(), //get number of incidents details
links = DocElements("table tr td a").eachHref //get href links
)
}
}
импортированный материал с альфа-сборкой
import it.skrape.extract
import it.skrape.selects.DocElement
import it.skrape.selects.DocElements
import it.skrape.skrape
импортированный материал с 0.6.0
import it.skrape.extract
import it.skrape.selects.element
import it.skrape.selects.elements
import it.skrape.skrape
в старом коде после { есть это: Запрос и с новым кодом, который изменился на (init: Request. () -> T). Честно говоря, я не знаю, как эти изменения влияют на код. Я знаю, что T - это типовой параметр типа c, но не могу найти документацию, объясняющую его
Нужен совет по поводу решения первой проблемы и работающий код остается неизменным, или как заставить работать новый код, или где найти руководство для идиотов, которое мне, безусловно, нужно.
Надеюсь, это все объясняет правильно
Спасибо