feat: scrape video cards and verify against real markup in headless Chrome
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 5.5
parent
386b88bab5
commit
6de9e9656c
Vendored
+4
@@ -0,0 +1,4 @@
|
||||
<!doctype html>
|
||||
<meta charset="utf-8">
|
||||
<title>harness</title>
|
||||
<body></body>
|
||||
Vendored
+46
@@ -0,0 +1,46 @@
|
||||
<!-- Synthetic: modelled on the search-result card structure observed on youtube.com on 2026-10-25;
|
||||
the VidIQ blocks copy the structure of home-card.html. -->
|
||||
<ytd-video-renderer>
|
||||
<div id="dismissible">
|
||||
<ytd-thumbnail>
|
||||
<a id="thumbnail" href="/watch?v=pyV68KvUwlw&pp=ygUSbWluZWNyYWZ0IHNwZWVkcnVu">
|
||||
<img src="https://i.ytimg.com/vi/pyV68KvUwlw/hq720.jpg?sqp=abc&rs=def">
|
||||
<div id="overlays"><span id="text" aria-label="1 минута 29 секунд">1:29</span></div>
|
||||
</a>
|
||||
</ytd-thumbnail>
|
||||
<div class="text-wrapper">
|
||||
<div id="meta">
|
||||
<div id="title-wrapper">
|
||||
<h3 class="title-and-badge">
|
||||
<a id="video-title" href="/watch?v=pyV68KvUwlw&pp=ygUSbWluZWNyYWZ0IHNwZWVkcnVu"
|
||||
aria-label="Minecraft Beaten In 53 Seconds [FWR] 1 минута 29 секунд" title="Minecraft Beaten In 53 Seconds [FWR]">
|
||||
<yt-formatted-string>Minecraft Beaten In 53 Seconds [FWR]</yt-formatted-string>
|
||||
</a>
|
||||
</h3>
|
||||
</div>
|
||||
<ytd-video-meta-block>
|
||||
<div id="metadata">
|
||||
<div id="byline-container">
|
||||
<ytd-channel-name id="channel-name"><div id="container"><div id="text-container">
|
||||
<yt-formatted-string id="text" title="HanabiYaki"><a href="/@HanabiYaki">HanabiYaki</a></yt-formatted-string>
|
||||
</div></div></ytd-channel-name>
|
||||
</div>
|
||||
<div id="metadata-line">
|
||||
<span class="inline-metadata-item">5,1 млн</span>
|
||||
<span class="inline-metadata-item">2 г. назад</span>
|
||||
<div class="vidiq-scope">
|
||||
<span data-vidiq-subscriber-count="">111 тыс.</span><span>подписчики</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<span class="inline-video-stats vidiq-scope">
|
||||
<div data-hover-popover="VphPopover"><span>29 VPH</span></div>
|
||||
<div data-hover-popover="OutlierPopover">
|
||||
<a href="https://app.vidiq.com/outliers?utm_source=chrome&outlier_score=7.456&video_id=pyV68KvUwlw"><span>7.5x</span></a>
|
||||
</div>
|
||||
</span>
|
||||
</ytd-video-meta-block>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</ytd-video-renderer>
|
||||
Vendored
+36
@@ -0,0 +1,36 @@
|
||||
<!-- Synthetic: modelled on the watch-page sidebar lockup observed on youtube.com on 2026-10-25;
|
||||
the VidIQ blocks copy the structure of home-card.html. -->
|
||||
<yt-lockup-view-model class="lockup">
|
||||
<div class="ytLockupViewModelHost content-id-7KXuP7Ws8W8">
|
||||
<a class="ytLockupViewModelContentImage" href="/watch?v=7KXuP7Ws8W8">
|
||||
<yt-thumbnail-view-model><div class="ytThumbnailViewModelImage"><img src="https://i.ytimg.com/vi/7KXuP7Ws8W8/hqdefault.jpg"></div></yt-thumbnail-view-model>
|
||||
</a>
|
||||
<div class="ytLockupViewModelMetadata">
|
||||
<yt-lockup-metadata-view-model><div class="ytLockupMetadataViewModelTextContainer">
|
||||
<h3 class="ytLockupMetadataViewModelHeadingReset" title="CБОРНИК - В Гостях У Бабули 21-30 серии">
|
||||
<a class="ytLockupMetadataViewModelTitle" href="/watch?v=7KXuP7Ws8W8"><span>CБОРНИК - В Гостях У Бабули 21-30 серии</span></a>
|
||||
</h3>
|
||||
<div class="ytLockupMetadataViewModelMetadata">
|
||||
<yt-content-metadata-view-model>
|
||||
<div class="ytContentMetadataViewModelMetadataRow">
|
||||
<span class="ytAttributedStringHost ytContentMetadataViewModelMetadataText">Уродская Анимация</span>
|
||||
</div>
|
||||
<div class="ytContentMetadataViewModelMetadataRow">
|
||||
<span class="ytAttributedStringHost ytContentMetadataViewModelMetadataText" aria-label="1,8 миллиона просмотров">1,8 млн</span>
|
||||
<span class="ytContentMetadataViewModelDelimiter"></span>
|
||||
<span class="ytAttributedStringHost ytContentMetadataViewModelMetadataText" aria-label="3 недели назад">3 нед. назад</span>
|
||||
</div>
|
||||
<div class="vidiq-scope">
|
||||
<span data-vidiq-subscriber-count="">2,82 млн</span><span>подписчики</span>
|
||||
</div>
|
||||
<span class="inline-video-stats vidiq-scope">
|
||||
<div data-hover-popover="OutlierPopover">
|
||||
<a href="https://app.vidiq.com/outliers?outlier_score=12&video_id=7KXuP7Ws8W8"><span>12x</span></a>
|
||||
</div>
|
||||
</span>
|
||||
</yt-content-metadata-view-model>
|
||||
</div>
|
||||
</div></yt-lockup-metadata-view-model>
|
||||
</div>
|
||||
</div>
|
||||
</yt-lockup-view-model>
|
||||
Reference in New Issue
Block a user