为了账号安全,请及时绑定邮箱和手机立即绑定

在 python 中包含转义字符的字段上使用 BS4

在 python 中包含转义字符的字段上使用 BS4

慕婉清6462132 2021-12-09 10:48:09
所以我抓取的内容在类名中有转义字符。这是数据的样子。<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"))


查看完整回答
反对 回复 2021-12-09
?
胡子哥哥

TA贡献1825条经验 获得超6个赞

我在查询的课堂中出现转义字符时遇到了类似的问题。我使用以下方法来查询这些标签:

soup.find_all(name='div', attrs={'class': 'content-review'})


查看完整回答
反对 回复 2021-12-09
?
慕森卡

TA贡献1806条经验 获得超8个赞

我在现有的转义字符旁边添加了一个反斜杠,它对我有用。

soup.find_all("div", {"class": '\\"content-review\\"'})

我不太确定为什么,但是当我尝试获取“class”标签的内容时,它返回的是什么。也许这意味着逃避转义字符。


查看完整回答
反对 回复 2021-12-09
  • 3 回答
  • 0 关注
  • 223 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信