如何将存储在MySQL单元格中的代码输入到我的Python beautifulsoup中

问题描述 投票:0回答:1

我正在解析许多不同的网站,并希望将他们独特的标签保存在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”

mysql python-3.x beautifulsoup pymysql
1个回答
0
投票

我认为这是因为你用字符串调用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()
© www.soinside.com 2019 - 2024. All rights reserved.