gpt4 book ai didi

python - 嵌入 youtube 视频抓取的链接

转载 作者:行者123 更新时间:2023-12-01 03:29:16 25 4
gpt4 key购买 nike

我正在尝试抓取网站:page I try to crawl 。我试图收集的数据是嵌入在其页面中的 YouTube 视频的链接。问题是当我使用 urllib2 时,我无法执行 js,因此链接不会出现在我的代码中:

response = OPENER.open("https://www.hopenglish.com/how-sugar-affects-the-brain?ref=category")
html_text = response.read()
print html_text

我是否有办法检索此链接而不使用其他库来抓取此网站? (几乎我所有的爬虫都已经实现了,我只需要嵌入视频的youtube链接)

最佳答案

在查看整个 HTML 响应后,找到了在内联 JavaScript 中提供 YouTube 视频 ID 的线索,该线索位于脚本标记内。

HTML 响应的一部分(提供视频 ID):

<script type="text/javascript" language="javascript">
var vID = "lEXBxijQREo";
var srt_name = "sugaraffectsbrain";
var user_id = 0;
var post_id = 8349;
var share_link = 'https://www.hopenglish.com/how-sugar-affects-the-brain';
var share_img_link = 'https://s3-ap-northeast-1.amazonaws.com/hopenglish/wp/wp-content/uploads/2014/10/how-sugar-affects-the-brain.jpg';
</script>

从上面的 HTML 响应中,使用正则表达式检索 vID 值,如下所示:

import urllib2
import re

response = urllib2.urlopen("https://www.hopenglish.com/how-sugar-affects-the-brain?ref=category")
html_text = response.read()
# print html_text

m = re.search('vID = "(.*?)"', html_text)
print m.group(0)

产生:

vID = "lEXBxijQREo"

您可以将 vID 值 lEXBxijQREo 附加到 youtube.com 域,如下所示:

https://www.youtube.com/watch?v=lEXBxijQREo

关于python - 嵌入 youtube 视频抓取的链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41121378/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com