我的目标是从页面源获取“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())
答案 0 :(得分:1)
您可以使用:
soup.select("div.field.field-required")
它会给你一个包含找到的div的列表。
答案 1 :(得分:0)
soup = BeautifulSoup(a,'lxml')
sitekey = soup.select("div script")[0]
b = sitekey.text
print(re.findall(r'"([^"]*)"', b))
这应该可以完成这项工作,变量 a [第1行]是输入(html),
b只是脚本部分,正则表达式打印引号之间的所有内容,在本例中为密钥,如果要从密钥或.strip("'")
中删除引号,则可以另外使用replace("'","")