Link 的嵌入 YouTube 视频抓取
Link of embed youtube video scraping
我正在尝试抓取一个网站:page I try to crawl。
我要收集的数据是他们页面中嵌入的 youtube 视频的 link。问题是当我使用 urllib2 时我无法执行 js,所以 link 没有出现在我的代码中:
response = OPENER.open("https://www.hopenglish.com/how-sugar-affects-the-brain?ref=category")
html_text = response.read()
print html_text
我是否有办法在不使用其他库抓取该网站的情况下检索此 link? (几乎所有的爬虫都已经实现了,我只需要嵌入视频的youtubelink)
在完成整个 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
在源中查找 var vID = "lEXBxijQREo";
。
我正在尝试抓取一个网站:page I try to crawl。 我要收集的数据是他们页面中嵌入的 youtube 视频的 link。问题是当我使用 urllib2 时我无法执行 js,所以 link 没有出现在我的代码中:
response = OPENER.open("https://www.hopenglish.com/how-sugar-affects-the-brain?ref=category")
html_text = response.read()
print html_text
我是否有办法在不使用其他库抓取该网站的情况下检索此 link? (几乎所有的爬虫都已经实现了,我只需要嵌入视频的youtubelink)
在完成整个 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
在源中查找 var vID = "lEXBxijQREo";
。