<a data-iso-code="inr" data-symbol="₹" class="currency-select-button"
href="#">₹ - INR </a>
如何点击此标签,如何检查'data-iso-code = =“inr”'??? 我已经尝试过soup.find('a',data-iso-code ='inr'),但它给出了错误: -
'SyntaxError: keyword can't be an expression'
答案 0 :(得分:1)
记住,美丽的汤不是网络浏览器,而是解析器:因此点击&#39;并不完全相同:它不像Web浏览器那样执行Javascript模型。
那就是说,它可以跟随&#39;如果你制作一个原始的蜘蛛机器人链接(确保如果你这样做,你看看你的目标网站robots.txt
文件。
假设您已经拥有类似这样的代码,以获得对“&#39; a&#39;标签
from bs4 import BeautifulSoup
soup = BeautifulSoup(html_doc, 'html.parser')
mytag = soup.a # or use soup.findall('a') etc and loop over the results
然后您现在可以查看该标记的属性:
注意,不能执行if 'data-iso-code' in mytag
:但您可以这样做:
def has_correct_attr(tag, attr, val):
has_attr = False
try:
if mytag[attr] == val:
has_attr = True
else:
has_attr = False
except KeyError:
has_attr = False
return has_attr
has_correct_attr(mytag, "data-iso-code", "inr")
(代码写在这里,未经过测试,因此请注意拼写错误)