【发布时间】:2022-07-20 22:39:54
【问题描述】:
url = "www.xxxx.com"
rlink = requests.get(url, cookies=cookies).content
html = BeautifulSoup(rlink, 'html.parser')
scripttags = html.findAll("script")
在 html DOM 中,它会有大约 7x 个脚本标签,我需要在其中搜索一个变量(唯一) 每个脚本标签
变量是
var playbackUrl = 'https://www.yyyy.com'
for i in range(len(scripttags)):
if "playbackUrl" in str(scripttags[i]):
for j in str(scripttags[i]).split("\n"):
if "playbackUrl" in j:
url_=re.search("'(.*)'", j).group(1)
print(url_)
虽然我的脚本可以完成这项工作,但是,只是想知道是否有任何聪明的方法来完成这项任务
【问题讨论】:
-
发布你要抓取的网址
-
不,它是一个视频购买网站,只是想通过一个搜索/循环来完成
-
没有直接在脚本中搜索的方法 - 所以你必须使用
for-loop 来单独检查每个脚本。 -
如果您学会使用
for-loop 而不使用range(len())和更高版本的[i]-for script in scripttags:,则代码可能更具可读性 -
你不必拆分成行但使用
re.findall("var playbackUrl = '(.*)'", script.text)
标签: python beautifulsoup python-re