我需要一些关于使用python来删除站点中的一些数据属性的帮助。我尝试过使用lxml
和requests
但没有成功,我在网上找到了一些关于使用beautiful Soup的文章。唯一的问题是我不知道怎么做。
这是我要刮的。
<div class="card-body ">
<div class="card-entry" data-var1="0" data-var2="1" data-var3="20" data-var4="3" data-var5="9">… </div>">
<div class="card-entry" data-var1="1" data-var2="2" data-var3="9" data-var4="2" data-var5="7">… </div>">
<div class="card-entry" data-var1="2" data-var2="3" data-var3="1" data-var4="3" data-var5="3">…</div>
<div class="card-entry" data-var1="3" data-var2="4" data-var3="5" data-var4="2" data-var5="9">…</div>
我正在尝试获得data-var5
值,但我不知道如何获得。希望有人能帮忙。
问候,
哈扎
您可以使用select
。您可以试试:
from bs4 import BeautifulSoup
html = """
<div class="card-entry" data-var1="0" data-var2="1" data-var3="20" data-var4="3" data-var5="9">… </div>
<div class="card-entry" data-var1="1" data-var2="2" data-var3="9" data-var4="2" data-var5="7">… </div>
<div class="card-entry" data-var1="2" data-var2="3" data-var3="1" data-var4="3" data-var5="3">…</div>
<div class="card-entry" data-var1="3" data-var2="4" data-var3="5" data-var4="2" data-var5="9">…</div>
"""
soup = BeautifulSoup(html, "lxml")
data_var = soup.select('div[data-var5]')
for data in data_var:
print("data-var5: " + data['data-var5'])
输出将是:
data-var5: 9
data-var5: 7
data-var5: 3
data-var5: 9
from bs4 import BeautifulSoup
html = """
<div class="card-entry" data-var1="0" data-var2="1" data-var3="20" data-var4="3" data-var5="9">… </div>
<div class="card-entry" data-var1="1" data-var2="2" data-var3="9" data-var4="2" data-var5="7">… </div>
<div class="card-entry" data-var1="2" data-var2="3" data-var3="1" data-var4="3" data-var5="3">…</div>
<div class="card-entry" data-var1="3" data-var2="4" data-var3="5" data-var4="2" data-var5="9">…</div>
"""
soup = BeautifulSoup(html, "html.parser")
divs = soup.find_all("div", "card-entry")
for div in divs:
print(div["data-var5"])