我正在解析许多不同的网站,并希望将他们独特的标签保存在MySQL表中,并使用存储的代码通过使用美丽的汤来检索新内容。但是我在检索那些代码时遇到了麻烦,并把它放在我的美味汤中,以便在“标题”之外找到更复杂的标签。
所以它适用于简单的标签,如'title',但不适用于'div',{'class':'event-info'},在我的例子中是row [3]。
'div',{'class':'event-info'}在我的mysql单元格中排[3]
Traceback (most recent call last):
File
content = soup.find(row[3]).get_text().strip()
AttributeError: 'NoneType' object has no attribute 'get_text'
我的专栏使用“varchar(255)COLLATE utf8mb4_unicode_ci”
我认为这是因为你用字符串调用find
方法。为了获得正确的行为,您应该将不同的参数保存在MySQL表的不同列中,或者您可以像这样更改值:
rs = row[3].split(',')
rtag = rs[0].split('\'')[1]
rclass = dict()
rclass[rs[1].split('\'')[1]] = rs[1].split('\'')[3]
最后:
content = soup.find(rtag, rclass).get_text().strip()