猿问

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

所以我抓取的内容在类名中有转义字符。

这是数据的样子。

<div class='\"content-review\"'> blah blah blah </div>

我试过这样做:

mydivs = soup.findAll("div", {"class": repr('\"content-review\"')})

它返回一个空数组。我认为这有一个简单的解决方案,但我似乎无法弄清楚。


慕婉清6462132
浏览 224回答 3
3回答

慕田峪7331174

转义字符可能不是您的问题。我相信“class”是 Python 中的保留字,因此您不能将其用作关键字参数。Beautiful Soup通过使用关键字参数“class_”来处理这个问题。尝试这样的事情”:mydivs = soup.findAll("div", class_="content-review")如果这仍然不起作用,那么您可以告诉 Beautiful Soup 忽略转义的引号,如下所示:import remydivs = soup.findAll("div", class_=re.compile("content-review"))

胡子哥哥

我在查询的课堂中出现转义字符时遇到了类似的问题。我使用以下方法来查询这些标签:soup.find_all(name='div',&nbsp;attrs={'class':&nbsp;'content-review'})

慕森卡

我在现有的转义字符旁边添加了一个反斜杠,它对我有用。soup.find_all("div",&nbsp;{"class":&nbsp;'\\"content-review\\"'})我不太确定为什么,但是当我尝试获取“class”标签的内容时,它返回的是什么。也许这意味着逃避转义字符。
随时随地看视频慕课网APP

相关分类

Python
我要回答