converted to markdown format
This commit is contained in:
parent
ea20ca0b00
commit
b61148fd7e
|
@ -1,39 +1,22 @@
|
||||||
= Using Newpipe Extractor
|
# Using Newpipe Extractor in android app
|
||||||
|
|
||||||
|
|
||||||
== Add dependencies to gradle:
|
## Add dependencies to gradle:
|
||||||
|
|
||||||
- *project* build.gradle:
|
1. **project** build.gradle:
|
||||||
|
|
||||||
[,gradle]
|
```gradle
|
||||||
----
|
|
||||||
repositories {
|
repositories {
|
||||||
...
|
...
|
||||||
maven { url 'https://jitpack.io' }
|
maven { url 'https://jitpack.io' }
|
||||||
}
|
}
|
||||||
----
|
```
|
||||||
|
|
||||||
.or in settings.build
|
2. **module**/app build.gradle:
|
||||||
[%collapsible]
|
|
||||||
======
|
|
||||||
this is properly for android ;)
|
|
||||||
[,gradle]
|
|
||||||
----
|
|
||||||
repositories {
|
|
||||||
...
|
|
||||||
maven { url 'https://jitpack.io' }
|
|
||||||
}
|
|
||||||
----
|
|
||||||
======
|
|
||||||
|
|
||||||
|
![](https://img.shields.io/github/v/release/TeamNewPipe/NewPipeExtractor.svg)
|
||||||
|
|
||||||
|
```gradle
|
||||||
- *module*/app build.gradle:
|
|
||||||
|
|
||||||
image:https://img.shields.io/github/v/release/TeamNewPipe/NewPipeExtractor.svg[]
|
|
||||||
|
|
||||||
[,gradle]
|
|
||||||
----
|
|
||||||
// NewPipe Libraries
|
// NewPipe Libraries
|
||||||
implementation 'com.github.TeamNewPipe:NewPipeExtractor:0.21.12'
|
implementation 'com.github.TeamNewPipe:NewPipeExtractor:0.21.12'
|
||||||
implementation 'com.github.TeamNewPipe:nanojson:1d9e1aea9049fc9f85e68b43ba39fe7be1c1f751'
|
implementation 'com.github.TeamNewPipe:nanojson:1d9e1aea9049fc9f85e68b43ba39fe7be1c1f751'
|
||||||
|
@ -43,16 +26,16 @@ implementation 'com.github.TeamNewPipe:nanojson:1d9e1aea9049fc9f85e68b43ba39fe7b
|
||||||
//noinspection GradleDependency --> do not update okhttp to keep supporting Android 4.4 users
|
//noinspection GradleDependency --> do not update okhttp to keep supporting Android 4.4 users
|
||||||
implementation "com.squareup.okhttp3:okhttp:3.12.13"
|
implementation "com.squareup.okhttp3:okhttp:3.12.13"
|
||||||
|
|
||||||
----
|
```
|
||||||
|
|
||||||
NOTE: You could really use any http client other than okhttp.
|
**NOTE**: You could really use any http client other than okhttp.
|
||||||
|
|
||||||
|
|
||||||
== Configure for android projects:
|
## Configure for android projects:
|
||||||
|
|
||||||
Make sure you are using Java 11.
|
Make sure you are using Java 11.
|
||||||
[,gradle]
|
|
||||||
```
|
```gradle
|
||||||
android {
|
android {
|
||||||
...
|
...
|
||||||
compileOptions {
|
compileOptions {
|
||||||
|
@ -77,11 +60,11 @@ dependencies {
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
=== Proguard rules if you've [minify] enable:
|
## Proguard rules if you've [minify] enable:
|
||||||
|
|
||||||
the `proguard-rules.pro` file:
|
the `proguard-rules.pro` file:
|
||||||
|
|
||||||
```
|
```pro
|
||||||
...
|
...
|
||||||
|
|
||||||
# For NewPipeExtractor
|
# For NewPipeExtractor
|
||||||
|
@ -115,11 +98,11 @@ the `proguard-rules.pro` file:
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
=== Implementing [Downloader] (okhttp)
|
## Implementing [Downloader] (okhttp)
|
||||||
|
|
||||||
Copy paste from Newpipe ;)
|
Copy paste from Newpipe ;)
|
||||||
|
|
||||||
```
|
```kotlin
|
||||||
package com.mycompany.hello
|
package com.mycompany.hello
|
||||||
|
|
||||||
import okhttp3.OkHttpClient
|
import okhttp3.OkHttpClient
|
||||||
|
@ -190,10 +173,10 @@ class DownloaderImpl(
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
== Using the library!
|
## Using the library!
|
||||||
|
|
||||||
[,kotlin]
|
|
||||||
```
|
```kotlin
|
||||||
// init Okhttp client
|
// init Okhttp client
|
||||||
val okhttp = OkHttpClient.Builder()
|
val okhttp = OkHttpClient.Builder()
|
||||||
.readTimeout(30, TimeUnit.SECONDS)
|
.readTimeout(30, TimeUnit.SECONDS)
|
||||||
|
@ -207,19 +190,16 @@ val extractor = ServiceList.Youtube
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
=== Getting suggestions:
|
### Getting suggestions:
|
||||||
|
|
||||||
[,kotlin]
|
```kotlin
|
||||||
```
|
|
||||||
extractor.suggestionExtractor.suggestionList("Hello")
|
extractor.suggestionExtractor.suggestionList("Hello")
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
### Search for videos:
|
||||||
|
|
||||||
=== Search for videos:
|
```kotlin
|
||||||
|
|
||||||
[,kotlin]
|
|
||||||
```
|
|
||||||
val search = extractor.getSearchExtractor("Hello")
|
val search = extractor.getSearchExtractor("Hello")
|
||||||
search.fetchPage()
|
search.fetchPage()
|
||||||
|
|
||||||
|
@ -229,10 +209,9 @@ print(search.initialPage.items)
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
=== Get video:
|
### Get video:
|
||||||
|
|
||||||
[,kotlin]
|
```kotlin
|
||||||
```
|
|
||||||
val page = extractor.getStreamExtractor("https://www.youtube.com/watch?v=mIuYmbO9uBM")
|
val page = extractor.getStreamExtractor("https://www.youtube.com/watch?v=mIuYmbO9uBM")
|
||||||
page.fetchPage()
|
page.fetchPage()
|
||||||
|
|
||||||
|
@ -241,11 +220,11 @@ page.videoStreams
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
== Final note:
|
## Final note:
|
||||||
This is very humble guide on how to use newpipe to scrap youtube *specificly*
|
This is very humble guide on how to use newpipe to scrap youtube *specificly*
|
||||||
|
|
||||||
You can explore the library by your own
|
You can explore the library by your own
|
||||||
|
|
||||||
image::https://imgur.com/2ciR9kq.png[width=400]
|
![](https://imgur.com/2ciR9kq.png[width=400])
|
||||||
|
|
||||||
I write this for me first to not forget and also in the hope that it will help some one :)
|
I write this for me first to not forget and also in the hope that it will help some one :)
|
Loading…
Reference in New Issue