使用Beautiful Soup,我想在HTML代码中找到所有标签'a',其属性“class”等于“button btn-1-small”或属性“class”等于“button beta” -callout btn-1-small“。我的代码是:
alltd = soup.find_all('a', {'class':'button btn-1-small'}, {'class':'button
beta-callout btn-1-small'})
当我只有一个条件(“class”的一个值)时,我的代码工作正常,但是当我想要有两个条件时,它不再起作用了。
你知道怎么写条件“或”吗?为了使该类的值为另一个
非常感谢。
LCS
答案 0 :(得分:1)
在您的情况下,Imports Newtonsoft.Json
Imports Newtonsoft.Json.Linq
Public Class Form1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim jsonString As String = "{""id"":1, ""name"":""tom"",
""items"":[
{""name"":""apple"", ""count"":1 },
{""name"":""milk"", ""count"":2 }
]
}"
Dim jsonObjects As JObject = JObject.Parse(jsonString)
Console.WriteLine("id:" & jsonObjects.SelectTokens("id").ToString)
Console.WriteLine("name:" & jsonObjects.SelectTokens("name").ToString)
Console.WriteLine("items:" & jsonObjects.SelectTokens("items").ToString)
'Dim jsonArray As JArray = JArray.Parse(jsonObjects.SelectTokens("items").ToString)
For Each item As JObject In JArray.Parse(jsonObjects.SelectTokens("items").ToString)
Console.WriteLine("item:" & item.SelectTokens("name").ToString)
Next
End Sub
End Class
有多个类,这意味着只需执行'button btn-1-small'
即可返回两个元素。
但是,要查找具有一个类或另一个类的元素,您需要传递一个列表。
因此,如果你有HTML:
soup.find_all('a', {'class': 'btn-1-small'})
您可以选择以下任一项:
<a href="#" class="foo">Test 1</a>
<a href="#" class="bar">Test 2</a>