首页 > 解决方案 > 如何通过 BeautifulSoup 和 soup.select_one() 获取变量的值?

问题描述

ue_mid如果您尝试使用 BeautifulSoup 抓取网页并使用此函数,如何获取变量的值: soup.select_one()

源代码中的变量列表如下所示:

var ue_id = 'XXXXXXXXXXXX',
    ue_mid = 'ValueToGet',
    ue_navtiming = 1;

非常感谢您!

标签: pythonweb-scrapingbeautifulsoup

解决方案


它是 JavaScript。您只能使用select_one()从标签中获取文本<script>,稍后您必须使用字符串的函数(或正则表达式)从字符串中提取它。

html = '''<script>
var ue_id = 'XXXXXXXXXXXX',
    ue_mid = 'ValueToGet',
    ue_navtiming = 1;
</script>'''

from bs4 import BeautifulSoup as BS

soup = BS(html, 'html.parser')
text = soup.select_one('script').get_text()

text = text.split("ue_mid = '")[1]
text = text.split("',")[0]
print(text)

# ValueToGet

推荐阅读