所以我抓取的内容在类名中有转义字符。这是数据的样子。<div class='\"content-review\"'> blah blah blah </div>我试过这样做:mydivs = soup.findAll("div", {"class": repr('\"content-review\"')})它返回一个空数组。我认为这有一个简单的解决方案,但我似乎无法弄清楚。
3 回答
慕田峪7331174
TA贡献1828条经验 获得超13个赞
转义字符可能不是您的问题。我相信“class”是 Python 中的保留字,因此您不能将其用作关键字参数。Beautiful Soup通过使用关键字参数“class_”来处理这个问题。尝试这样的事情”:
mydivs = soup.findAll("div", class_="content-review")
如果这仍然不起作用,那么您可以告诉 Beautiful Soup 忽略转义的引号,如下所示:
import re
mydivs = soup.findAll("div", class_=re.compile("content-review"))
胡子哥哥
TA贡献1825条经验 获得超6个赞
我在查询的课堂中出现转义字符时遇到了类似的问题。我使用以下方法来查询这些标签:
soup.find_all(name='div', attrs={'class': 'content-review'})
慕森卡
TA贡献1806条经验 获得超8个赞
我在现有的转义字符旁边添加了一个反斜杠,它对我有用。
soup.find_all("div", {"class": '\\"content-review\\"'})
我不太确定为什么,但是当我尝试获取“class”标签的内容时,它返回的是什么。也许这意味着逃避转义字符。
添加回答
举报
0/150
提交
取消