Seneste forumindlæg
Køb / Salg
 * Uofficiel Black/White liste V2
Login / opret bruger

Forum \ Programmering og webdesign \ Programmering

Powershell Hjælp til at trække specifikke links ud...

Af Gæst Tanjamuse | 13-03-2018 08:31 | 2020 visninger | 18 svar, hop til seneste
Hej. Er der nogle der har forstand på Powershell og som kan hjælpe mig med at trække denne type links: https://archiveofourown.org[...] ud af en liste med sider som dette: https://archiveofourown.org[...] På forhånd mange tak.
--
Gæstebruger, opret dit eget login og få din egen signatur.
#1
Tanjamuse
Gæst
13-03-2018 09:11

Rapporter til Admin
Hvis det hjælper har jeg noget der virker fra et andet website? Jeg ved bare ikke selv nok om Powershell til at ændre til at virke på den nye side. $InputLinksFile = "c:\temp\InputLinks.txt" $OutputLinksFile = "C:\temp\OutputLinks.txt" $InputLinks = @() $BasePage = "https://www.fanfiction.net[...] [int]$FirstPageNumber = "600" [int]$LastPageNumber = "601" $CurrentPageNumber = $FirstPageNumber # Make a list of all the pages we want to input, counting from FirstPageNumber to LastPageNumber while ($CurrentPageNumber -le $LastPageNumber) { $InputLinks += "$BasePage$CurrentPageNumber" $CurrentPageNumber++ } # If you want to manually input a list of pages instead, remove # in front of the next line: $InputLinks = Get-Content -Path $InputLinksFile ForEach ($InputLink in $InputLinks) { # Fetch the entire page. Get links in page with ().Links. Page is compressed with gzip, so we'll have to account for that $InputPageLinks = (Invoke-WebRequest -Uri $InputLink -Headers @{"Accept-Encoding"="gzip"}).Links # Filter the link list to only contain links with the sequence "/1/" in it. $FilteredOutputLinks = $InputPageLinks | Where-Object {$_.href -like "*/1/*"} # The provided links are relative and not absolute, so we need to add the domain name to the output foreach ($OutputLink in $FilteredOutputLinks) { $FinalLink = "https://fanfiction.net[...] Out-File -Append -FilePath $OutputLinksFile -InputObject $FinalLink } Clear-Variable InputPageLinks }
--
Gæstebruger, opret dit eget login og få din egen signatur.
#2
thomsen48
Semi Supporter
13-03-2018 14:10

Rapporter til Admin
Har rettet det til, og gemt det her: https://pastebin.com[...]
--
i7-8700k @ 5Ghz, H115i | ASUS 1080ti Strix | Corsair 32GB 3200MHz | Samsung 960 Pro + 2 x 850 Pro | Asus 27" G-Sync PG278Q
--
Sidst redigeret 13-03-2018 14:11
#3
Tanjamuse
Gæst
13-03-2018 14:47

Rapporter til Admin
Mange tak. Jeg har dog en lille yderligere bøn. Kunne det rettes til sådan at det kun er links der er: https://archiveofourown.org[...] og ikke variationer såsom disse der bliver samlet op: https://archiveofourown.org[...] https://archiveofourown.org[...] https://archiveofourown.org[...]
--
Gæstebruger, opret dit eget login og få din egen signatur.
#4
thomsen48
Semi Supporter
13-03-2018 15:26

Rapporter til Admin
Sådan, så bliver det fjernet. (fjernede også dem som slutter på search) Der kommer godt nok en del duplicates, det ved jeg ikke om gør noget? https://pastebin.com[...]
--
i7-8700k @ 5Ghz, H115i | ASUS 1080ti Strix | Corsair 32GB 3200MHz | Samsung 960 Pro + 2 x 850 Pro | Asus 27" G-Sync PG278Q
#5
Tanjamuse
Gæst
13-03-2018 15:49

Rapporter til Admin
Hvis du kan fjerne alle duplicates også, så ville det være helt perfekt. Tusind tak endnu en gang.
--
Gæstebruger, opret dit eget login og få din egen signatur.
#6
thomsen48
Semi Supporter
13-03-2018 16:18

Rapporter til Admin
Velbekomme, så er duplicates også fjernet. Ikke det pæneste i verden, men det virker.. https://pastebin.com[...]
--
i7-8700k @ 5Ghz, H115i | ASUS 1080ti Strix | Corsair 32GB 3200MHz | Samsung 960 Pro + 2 x 850 Pro | Asus 27" G-Sync PG278Q
#7
Tanjamuse
Gæst
13-03-2018 16:30

Rapporter til Admin
Pyt med hvordan det ser ud, bare det virker .. og det gør det. Tusind tak. Kan du samme slags tryllerier på denne type links? Site: http://www.storiesofarda.com[...] Links type: http://www.storiesofarda.com[...]
--
Gæstebruger, opret dit eget login og få din egen signatur.
#8
Tanjamuse
Gæst
27-04-2018 16:29

Rapporter til Admin
Jeg håber thomsen48 eller en af jer andre kan hjælpe mig med følgende problem: Når jeg bruger det kode der står i det ovennævnte så får jeg kun 2 sider links i stedet alle de sider jeg har tastet ind. Hvis det kan lade sig gøre må det meget gerne rettes til 10.000 sider i stedet for kun 2 sider. På forhånd tak
--
Gæstebruger, opret dit eget login og få din egen signatur.
#9
thomsen48
Semi Supporter
28-04-2018 22:04

Rapporter til Admin
Du retter bare det her 2 tal til 10000, står på linje 6 [int]$LastPageNumber = "2" så det ser sådan her ud [int]$LastPageNumber = "10000"
--
i7-8700k @ 5Ghz, H115i | ASUS 1080ti Strix | Corsair 32GB 3200MHz | Samsung 960 Pro + 2 x 850 Pro | Asus 27" G-Sync PG278Q
#10
Tanjamuse
Gæst
02-05-2018 07:34

Rapporter til Admin
Kan basepage ændres til dette: https://archiveofourown.org[...] Da de ellers bliver gentaget hver gang de bliver opdaterede?
--
Gæstebruger, opret dit eget login og få din egen signatur.
#11
upz
Gigabruger
03-05-2018 17:26

Rapporter til Admin
Faldt lige over den her post. Her er et andet bud på hvordan man kunne gøre dette. Jeg har valgt at skrive en funktion istedet for, i min optik bliver det en smule mere elegant og medgørligt. Funktion kan hentes/ses her https://pastebin.com[...] Funktionen loades, og bruges således get-fanlinks -StartPage 1 -EndPage 2 -url "https://archiveofourown.org[...] -ExportCsv Der er 4 switches, startpage og endpage bestemmer hvilken forum side man starter og slutter på, angives disse ikke, starter man på 1, og slutter når der ikke er flere. I skrivende stund er der 1316 sidder, så man bør lige overveje at sætte endpage. -url, her linker man url til det show man vil hente links til IE. Buffy, Assassins creed etc. en url vil være eks. "https://archiveofourown.org[...] Den sidste switch -ExportCsv, for lige at opsummere så det som funktionen gør er at den henter information og henter relevante links, udfra dette bygger den en liste med objekter, hvert objekt består af * Page :: dette er NR på den forum side som linket er hentet fra * WebPage :: Webpage til forumside som linket er hentet fra * Titel :: Titel på Post * Url :: Url til Post Så hvis man benytter sig af sidste switch, vil alle de her information blive lagt ud på ens skrivebord i et csv format. Hvis man ikke gør det, kan listen gemmes direkte i en variable, som man så kan behandle efter behov. I min optik en lidt mere elegant og dynamisk løsning :)
--
#12
Tanjamuse
Gæst
03-05-2018 18:59

Rapporter til Admin
Tager den også links man skal være registreret for at se og kommer i de i den rækkefølge de er udgivet eller den de er opdateret? Og skal jeg bare sætte det ind i powershell?
--
Gæstebruger, opret dit eget login og få din egen signatur.
#13
upz
Gigabruger
03-05-2018 21:37

Rapporter til Admin
#12 Aner ikke om den tager links som man skal være logget ind for, det jeg har skrevet, er skrevet ud fra OP. Den nemmeste måde at bruge functions er at du tager og gemme den som en ps1 fil, og så når du åbner powershell skriver du Import-module "sti\til\script.ps1" -Force og som jeg gav som eksempl, så skriver du blot funktionen eks. Get-FanLinks -StartPage X -EndPage X -url "URL TIL SHOW" -ExportCsv så tager den fra side X til X og ligger det i en CSV fil til dig på skrivebordet. Beklager, jeg troede du var vant til at bruge powershell, så jeg forvented at de her emner var kendte.
--
Sidst redigeret 03-05-2018 21:37
#14
Tanjamuse
Gæst
04-05-2018 07:23

Rapporter til Admin
Jeg er OP, og jeg ved ikke ret meget om Powershell, hvorfor jeg har spurgt om hjælp. Jeg behøver ikke en csv-fil for jeg skal bruge links'ne i et andet program, så en alm txt-fil er fint. Kan den ændres så den også samler historier op som man skal være logget ind for at kunne se?
--
Gæstebruger, opret dit eget login og få din egen signatur.
#15
upz
Gigabruger
04-05-2018 08:28

Rapporter til Admin
#14 OP står for "Original Post" / s[ jeg ved godt det er dig, men jeg referer til din orginale post, deraf OP. Csv står for "Comma Seperated File", og er i og for sig en txt fil, det er en helt alm måde at håndtere data på når man arbejder med så små og temp data. Jeg ved ikke hvordan det at samle historier "man skal være logget ind for er at kunne se er skruet sammen, hvis du giver mig en konto jeg kan bruge til at teste på, så kan vi godt finde ud af noget.
--
#16
Tanjamuse
Gæst
04-05-2018 11:51

Rapporter til Admin
Jeg skal have lavet en alternativ konto så, medmindre du kan forklare mig hvor det skal sættes ind? Det her er et eksempel på en restricted: https://archiveofourown.org[...] Det er et forum man skal inviteres til så der kan gå lidt tid.
--
Gæstebruger, opret dit eget login og få din egen signatur.
#17
Tanjamuse
Gæst
07-07-2018 14:59

Rapporter til Admin
Jeg har fundet en anden løsning på de historier der er restricted. Men jeg har en ny opgave: Kan I hjælpe med en løsning til links som dette: https://archiveofourown.org[...] Nummeret på siden er markeret med fed
--
Gæstebruger, opret dit eget login og få din egen signatur.
#18
Tanjamuse
Gæst
28-07-2018 13:03

Rapporter til Admin
Hvor skal jeg tilføje username og password? I det script der allerede er foreslået?
--
Gæstebruger, opret dit eget login og få din egen signatur.

Opret svar til indlægget: Powershell Hjælp til at trække specifikke links ud...


Dit navn:

Din e-mail adresse:


Indholdet fra billedet:
Denne tråd er over 6 måneder gammel!
Er du sikker på at du har noget relevant at tilføje?
Dit svar: