我试图抓取产品视频链接(它是由另一个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. 如何在expressjs中为动态链接生成站点地图?
- 5. Java-JSoup刮动态网站
- 6. Python链接刮板
- 7. XML网络动态密钥刮网站
- 8. 从网站刮脸,用javascript:subOpen href链接
- 9. 如何实现网站的cookies刮板?
- 10. 使用静态网站生成器在动态网站上的博客?
- 11. 如何在网站上生成图像?
- 12. 如何编辑href链接(刮板)
- 13. 网站刮板 - 输出
- 14. 如何在动作3中生成动态链接列表
- 15. 动态生成网站地图
- 16. 在网站上动态生成SVG图像是否明智?
- 17. 自定义网站上的mod_rewrite的固定链接生成
- 18. 如何从网站上刮取图片?
- 19. 如何从网站上刮取徽标?
- 20. 从特定网址上刮下链接
- 21. 如何在MIddleman中链接动态生成的页面?
- 22. SEO:可以动态生成链接吗?
- 23. 动态生成CMS的页面链接
- 24. iframe问题动态生成的链接
- 25. 动态生成的HTML深度链接
- 26. 如何在其他网站上显示动态生成的画布图像
- 27. 如何刮掉.jsp网站?
- 28. 点击网页上的按钮,可以生成动态链接吗?我们可以导航网页到动态生成的链接
- 29. 如何生成网站
- 30. 刮网生成的Javascript
值得要注意,你也可以使用nitghmarejs https://github.com/segmentio/nightmare –
@schollz用无头WebKit处理网页,是标准方式吗?此外,它在性能方面是否会大规模运作? –
@yogesh_desai据我所知,这是标准的方式。无头Webkit利用浏览器来进行渲染,我不知道另一种方式来做到这一点。至于性能扩展,您可能会考虑使用无法实现的功能,这可能会让您通过AWS Lambda – schollz