我正在尝试抓取产品视频链接(由其他网络服务动态生成。位置位于左侧的产品图片下)。您可以查看以下链接, https://www.tokopedia.com/chocoapple/ready-stock-bnib-iphone-128gb-7-plus-jet-black-garansi-apple-1-tahun-10?src=topads 谷歌浏览器“检查元素”显示div标签。但页面源中不存在相同的标记。 怎么做?我正在研究goQuery来实现任务,但不确定它是否有效。我不是网站开发人员,所以如果我的问题描述不具体,请考虑提供建议。 谢谢。
答案 0 :(得分:3)
如果标签不在源代码中,那么GoQuery将无效。 GoQuery用于使用类似jQuery的API解析HTML源代码。
您需要先使用无头WebKit(如phantomjs,chromeless或puppeteer)处理网页。这些工具中的每一个都允许您在处理之前处理网页上的所有Javascript。这样,将处理用于呈现您感兴趣的视频的AJAX,并且将更新源。然后,您可以下载应该包含div的相应源。
答案 1 :(得分:1)
请找到下一个标记
08-27 15:41:31.884 19384-19384/com.example.simeon.najdiparking E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.simeon.najdiparking, PID: 19384
java.lang.NoSuchMethodError: No virtual method zzTt()Z in class Lcom/google/firebase/FirebaseApp; or its super classes (declaration of 'com.google.firebase.FirebaseApp' appears in /data/app/com.example.simeon.najdiparking-1/split_lib_dependencies_apk.apk:classes20.dex)
at com.google.firebase.database.FirebaseDatabase.getInstance(Unknown Source)
at com.google.firebase.database.FirebaseDatabase.getInstance(Unknown Source)
at com.example.simeon.najdiparking.MainActivity.onCreate(MainActivity.java:48)
at android.app.Activity.performCreate(Activity.java:6237)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2369)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476)
at android.app.ActivityThread.-wrap11(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5417)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
。如您所见,src包含ID“oKR2fh09Nic”。这是需要路径https://www.youtube.com/watch?v=oKR2fh09Nic
此外,您可以使用<img class="thumbnail-img horizontal" src="//i.ytimg.com/vi/oKR2fh09Nic/mqdefault.jpg">
加载视频信息。
答案 2 :(得分:1)
您可能需要像浏览器一样评估页面。正如schollz回答的那样,这可以通过所谓的无头浏览器(可通过cli或api使用的浏览器,它们不显示他们的gui)。
在go world中有chromedp