kotlin Скрап {это} от intellij до android интеграция - PullRequest
0 голосов
/ 16 февраля 2020

Я пытался интегрировать некоторый веб-анализ, который я сделал со 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, но не могу найти документацию, объясняющую его

Нужен совет по поводу решения первой проблемы и работающий код остается неизменным, или как заставить работать новый код, или где найти руководство для идиотов, которое мне, безусловно, нужно.

Надеюсь, это все объясняет правильно

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...