我正在使用python,requests和BeautifulSoup构建一个抓取网络的应用程序。
我声明一个类变量为:
class myClass(object):
TAG = "\"span\",{\"data-automation\":\"jobListingDate\"}"
我使用
print self.TAG
验证了此TAG我从
print self.TAG
得到的输出是"span",{"data-automation":"jobListingDate"}
,这表明self.TAG
与该字符串"span",{"data-automation":"jobListingDate"}
相同但是以下两行代码产生了不同的结果:
r = requests.get("someURL")
html = BeautifulSoup(r.content, "html.parser")
html.find(self.TAG) #this line does not find anything at all
html.find("span",{"data-automation":"jobListingDate"}) #this line does find what I am after
我很困惑,
self.TAG
与此字符串"span",{"data-automation":"jobListingDate"}
为何不同,我是否没有正确地进行转义? 最佳答案
对于html.find(self.TAG)
,您实际上仅将单个字符串作为参数,即:
html.find('"span",{"data-automation":"jobListingDate"}')
注意字符串周围的单引号
'
与"\"span\",{\"data-automation\":\"jobListingDate\"}"
相同在您的第二个示例
html.find("span",{"data-automation":"jobListingDate"})
中,我们讨论的是两个参数。当然,这会有所不同。
关于python - 无法识别转义的字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47506851/