我有一个 Python 脚本,用于抓取 html 页面中 src
元素的 <video>
属性。使用浏览器检查器对 this page 的视频,可以看到需要抓取的视频元素,但是直接查看页面源代码只能显示 ember 应用程序 JavaScript 文件。
我需要做什么才能访问包含 <video>
元素的“内部框架”标记,以便我可以抓取 src
属性?
编辑所以它不是那么广泛
最佳答案
无需走完整的浏览器/ Selenium 路线。只需进行更多调查,您就会看到它是如何工作的:
对于 vine URL https://vine.co/v/i3pQ70vK3iv
,您需要描述视频的 json 文件。
如此简单地抓取 URL https://archive.vine.co/posts/i3pQ70vK3iv.json
。这将返回如下文件:
{
"username": "Bleacher Report",
"userIdStr": "906307026416705536",
"postId": 1352573572862066700,
"verified": 1,
"description": "😳💯",
"created": "2016-06-09T06:14:43.000000",
"permalinkUrl": "https://vine.co/v/i3pQ70vK3iv",
"userId": 906307026416705500,
"profileBackground": "0x333333",
"vanityUrls": [
"BleacherReport"
],
"entities": [],
"postIdStr": "1352573572862066688",
"comments": 293,
"reposts": 2384,
"videoLowURL": "http://mtc.cdn.vine.co/r/videos_r2/DC69CF91B61352573549554077696_558739dd749.17.0.4126553130190094381.mp4?versionId=oVIxbcFKL5aaqsbMx_q.7wt4zEnhgQ0w",
"loops": 19182516,
"videoUrl": "http://mtc.cdn.vine.co/r/videos/DC69CF91B61352573549554077696_558739dd749.17.0.4126553130190094381.mp4?versionId=av0W8OaLWSzghq.9__iKdSU4y75FDNg.",
"videoDashUrl": "http://mtc.cdn.vine.co/r/videos_dashhd/DC69CF91B61352573549554077696_558739dd749.17.0.4126553130190094381.mp4?versionId=98zVYTYAx16DJka7Oa1yQu20utGrQch9",
"thumbnailUrl": "http://v.cdn.vine.co/r/thumbs/DC69CF91B61352573549554077696_558739dd749.17.0.4126553130190094381.mp4.jpg?versionId=7LmJNEI3C6bsHkF3t9jqu5k1O2xEHo9l",
"explicitContent": 0,
"likes": 6593
}
您将在返回的 json 中找到作为
videoUrl
属性的视频本身的 URL。关于python - 抓取内框 HTML,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42102514/