< návrat zpět
MS Excel
Téma: Web Query-stahnuti vice web stranek pomoci makra
Zaslal/a pepe74287 29.10.2015 15:23
Cau,
Bylo by mozne zkonstruovat makro, ktere stahne nekolik web stranek (radove 100) a vlozi data do jednoho sheetu pod sebe? Nazev stranek se meni podle nasledujiciho vzorce:
1. stranka: http://www.imdb.com/search/title?num_votes=10000,&sort=user_rating,desc&start=1&title_type=feature
2. stranka
http://www.imdb.com/search/title?num_votes=10000,&sort=user_rating,desc&start=51&title_type=feature
3. stranka
http://www.imdb.com/search/title?num_votes=10000,&sort=user_rating,desc&start=101&title_type=feature
atd
Z te stranky potrebuji stahnou pouze tabulku (viz screenshot), kdyz to delam manulane pomoci web query, tak navic jeste vyskoci 2 popup okna, kde musim odkliknout yes (opet v priloze)
Je toto vubec mozne?
Diky
Pepe
Příloha: 27734_screenshots.zip (26kB, staženo 31x)
eLCHa(30.10.2015 7:26)#027741 U mně prošlo normálně něco takového
Sub subDownImdb()
Dim sConnect As String
sConnect = "URL;http://www.imdb.com/search/title?num_votes=10000,&sort=user_rating,desc&start=#START#&title_type=feature"
Dim iRow As Long
iRow = 1
With Workbooks.Add.Worksheets(1)
Dim iStart As Integer
For iStart = 1 To 501 Step 50
With .QueryTables.Add(Connection:=Replace(sConnect, "#START#", CStr(iStart)), Destination:=.Cells(iRow, 1))
.Refresh BackgroundQuery:=False
.Delete
End With '.QueryTables.Add(Connection:=Replace(sConnect, "#START#", CStr(iStart)), Destination:=.Cells(iRow, 1))
.Rows(iRow).Delete
iRow = .Cells(1).CurrentRegion.Rows.Count + 1
.Range(.Cells(iRow, 1), .Cells(.Rows.Count, 1)).EntireRow.Delete
Next iStart
End With 'Workbooks.Add.Worksheets(1)
End Sub
Prvních 550 výsledků v příloze
Příloha: 27741_imdb.zip (170kB, staženo 31x) citovat
eLCHa(30.10.2015 7:56)#027742 Mimochodem
http://www.omdbapi.com/
Moc jsem nestudoval, jestli se dá stáhnout ten žebříček - ale v každém případě ty HT odkazy obsahují ID filmu, takže to vypadá, žepomocí OMDb API je možno krásně stáhnout informace k filmu.
citovat
pepe74287(30.10.2015 13:52)#027744 Dekuji mockrat,
je to presne to, co jsem hledal. Snad jen s jednim mensim dovetkem (coz ovsem nejspise nebude problem tohoto makra) - nazvy filmu ze stazenych stranek jsou prelozeny do cestiny, pricemz bych potreboval, aby zustaly v anglictine..
citovat
eLCHa(30.10.2015 13:59)#027745 jj - to jsem si všiml.
S Imdb moc zkušeností nemám. Budete muset prohlížeč přinutit, aby stahoval originály. Možná se bude stačit přihlásit k serveru a někde v nastavení si to změnit (asi to bude muset být v IE).
Pokud to nepude - je tu možnost z druhého odkazu - nechat to vše znovu projet a vyhledat si originální název.
citovat
pepe74287(30.10.2015 14:01)#027746 Diky za tip, vyzkousim.
citovat
eLCHa(30.10.2015 14:10)#027747 koukám, že nějaké nastavení je v site preferences - bod 7 - takže by to mělo jít
http://www.imdb.com/help/show_leaf?sitepreferencescitovat