我的目标是从页面源获取“ sitekey”的值。该代码段为here。有问题的页面是this

现在,做

soup = BeautifulSoup(url,'html.parser')
soup.find('div',{"class":"field field--required"})


不起作用,因为存在多个具有相同类名的div标签。我该如何解决这个问题?

先感谢您。

编辑:

def sitekey_search(atc_link):
    response = session.get(atc_link)
    soup = BeautifulSoup(response.content, 'html.parser')

    sitekey = soup.select("div script")[0]
    print(sitekey)
    m = re.match("""\"(\w+)\"""", sitekey)
    if m:
        print(m.groups())

最佳答案

soup = BeautifulSoup(a,'lxml')
sitekey = soup.select("div script")[0]
b = sitekey.text
print(re.findall(r'"([^"]*)"', b))


这应该可以完成工作,变量a [第一行]是输入(html),
b只是脚本部分,正则表达式会打印引号之间的所有内容(在这种情况下为键),如果要从键或.strip("'")中删除​​引号,则可以另外使用replace("'","")

关于python - BeautifulSoup在标签内的代码段内找到键值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43575022/

10-12 18:59