请问如何用正则表达式获取网页中内嵌的JavaScript中的字符串?

var BASE_DATA = {
    headerInfo: {
      id: 0,
      isPgc: false,
      userName: '',
      avatarUrl: '',
      isHomePage: false,
      chineseTag: '视频',
      crumbTag: 'video',
      hasBar: true
    },
    playerInfo: {
      videoId: 'v03004450000bhns5g3jvcldgj685gr0'
    },
  

以上为内嵌在网页中的js代码,我想在pyhon3中用正则表达式获取 videoId 后面的那串字符请问如何获取?用别人写的一直获取不到,请给修改下谢谢~!

reg = r'videoId:(.+?),'
videore = re.compile(reg)
videolist = re.findall(videore,html)
回复
阅读 1.7k
2 个回答
import re
s= """var BASE_DATA = {
    headerInfo: {
      id: 0,
      isPgc: false,
      userName: '',
      avatarUrl: '',
      isHomePage: false,
      chineseTag: '视频',
      crumbTag: 'video',
      hasBar: true
    },
    playerInfo: {
      videoId: 'v03004450000bhns5g3jvcldgj685gr0'
    },"""
reg = r"videoId: '.+'"
videore = re.compile(reg)
videolist = re.findall(videore,s)
print(videolist[0][10:-2])

这种要用正则匹配了吧。

json.loads(re.findall('var cities = (.+);\n', response.body.decode('utf-8'))[0])

记得处理异常。

clipboard.png

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏