我試圖抓取產品視頻鏈接(它是由另一個Web服務動態生成的,位置在左側的產品圖像下)。您可以查看以下鏈接, https://www.tokopedia.com/chocoapple/ready-stock-bnib-iphone-128gb-7-plus-jet-black-garansi-apple-1-tahun-10?src=topads 谷歌瀏覽器「檢查元素」顯示div標籤。但是相同的標籤不存在於頁面源代碼中。 如何做到這一點?我正在研究goQuery來執行任務,但不知道它會不會起作用。我不是網絡開發人員,所以如果我的問題描述不具體,請考慮提供建議。 謝謝。GoLang刮板。如何在網站上動態生成鏈接?
回答
如果標籤不在源代碼中,那麼GoQuery將不起作用。 GoQuery用於使用類似jQuery的API來解析HTML源代碼。
您需要首先使用無頭像WebKit處理網頁,如phantomjs,chromeless或puppeteer。這些工具中的每一個將允許您在處理之前處理網頁上的所有Javascript。這樣,用於呈現您感興趣的視頻的AJAX將被處理並且源將被更新。然後你可以下載相應的應該有div的源代碼。
請在下標籤找到<img class="thumbnail-img horizontal" src="//i.ytimg.com/vi/oKR2fh09Nic/mqdefault.jpg">
。正如你看到src包含ID「oKR2fh09Nic」。這是需要路徑https://www.youtube.com/watch?v=oKR2fh09Nic
此外,您可以使用http://youtube.com/get_video_info?video_id= oKR2fh09Nic
加載視頻信息。
它可以用於多個視頻嗎?作爲鏈接,我共享了4個視頻。另外,當你說找到下一個標籤是什麼意思? –
你提到的標籤
你可能需要像一個瀏覽器來評價頁面。正如schollz回答的那樣,這可以通過所謂的無頭瀏覽器(瀏覽器可通過cli或api使用,而不顯示它們的gui)。
在圍棋天地有在世界上的NodeJS chromedp
謝謝,我一定會檢查一下並試一試。另外,請對我的評論schollz的答案,並提供更多的細節。 –
要評估,是否需要通過chromedp加載頁面?我將如何獲取頁面的更新源? chromedp的哪些功能對我有用?任何想法? –
- 1. 的Perl - 網站::刮板 - 鏈接
- 2. 刮動態網站
- 3. 如何刮動JavaScript動態網站
- 4. 網站刮板不會刮我的一個鏈接
- 5. 如何在expressjs中爲動態鏈接生成站點地圖?
- 6. Java-JSoup刮動態網站
- 7. Python鏈接刮板
- 8. XML網絡動態密鑰刮網站
- 9. 從網站刮臉,用javascript:subOpen href鏈接
- 10. 颳去網站鏈接 - 看不到href
- 11. 如何實現網站的cookies刮板?
- 12. 使用靜態網站生成器在動態網站上的博客?
- 13. 如何使相關鏈接在Maven網站生成中工作?
- 14. 如何在網站上生成圖像?
- 15. 網站刮板 - 輸出
- 16. Firebase動態鏈接:如何從生成的動態鏈接獲取URI方案?
- 17. 如何編輯href鏈接(刮板)
- 18. 如何在動作3中生成動態鏈接列表
- 19. 將Jaunt的網站刮板能夠刮這個JavaScript網站
- 20. 動態生成網站地圖
- 21. 動態鏈接到一個PDF文件,在其他網站上
- 22. 在網站上動態生成SVG圖像是否明智?
- 23. 如何鏈接時間線卡html模板上的網站?
- 24. 自定義網站上的mod_rewrite的固定鏈接生成
- 25. 靜態網站生成器
- 26. 如何從網站上刮取圖片?
- 27. 如何從網站上刮取徽標?
- 28. 從特定網址上刮下鏈接
- 29. 如何在MIddleman中鏈接動態生成的頁面?
- 30. 如何自動生成網站的PDF?
值得要注意,你也可以使用nitghmarejs https://github.com/segmentio/nightmare –
@schollz用無頭WebKit處理網頁,是標準方式嗎?此外,它在性能方面是否會大規模運作? –
@yogesh_desai據我所知,這是標準的方式。無頭Webkit利用瀏覽器來進行渲染,我不知道另一種方式來做到這一點。至於性能擴展,您可能會考慮使用無法實現的功能,這可能會讓您通過AWS Lambda – schollz