首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >嵌入式youtube视频抓取链接

嵌入式youtube视频抓取链接
EN

Stack Overflow用户
提问于 2016-12-13 12:39:56
回答 2查看 1K关注 0票数 1

我正试着刮一个网站:我试着爬行。我试图收集的数据是youtube视频嵌入到他们的页面中的链接。问题是当我使用urllib2时,我无法执行js,所以链接不会出现在我的代码中:

代码语言:javascript
运行
复制
response = OPENER.open("https://www.hopenglish.com/how-sugar-affects-the-brain?ref=category")
html_text = response.read() 
print html_text

我有没有一个方法来检索这个链接,而不使用其他库来刮这个网站?(几乎我所有的爬虫都已经实现了,我只需要嵌入视频的youtube链接)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-12-13 13:42:48

在遍历了整个HTML响应之后,在脚本标记中找到了在内联javascript中给youtube视频id的领导。

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

代码语言:javascript
运行
复制
<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值,如下所示:

代码语言:javascript
运行
复制
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)

产生的结果:

代码语言:javascript
运行
复制
vID = "lEXBxijQREo"

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

代码语言:javascript
运行
复制
https://www.youtube.com/watch?v=lEXBxijQREo
票数 1
EN

Stack Overflow用户

发布于 2016-12-13 13:48:39

在源中查找var vID = "lEXBxijQREo";

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41121378

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档