Py学习  »  Python

如何将存储在mysql单元中的代码输入python美化组

HenryAD • 7 年前 • 1936 次点击  

我正在分析许多不同的网站,希望将它们的独特标记保存在mysql表中,并使用存储的代码通过使用beautiful soup检索新内容。然而,当我检索代码并将其放入我的漂亮汤中以获取“title”之外更复杂的标记时,我遇到了麻烦。

所以它适用于简单的标记,比如'title',但不适用于'div',{'class':'event info'},在我的示例中是第[3]行。

'div',{'class':'event-info'} 在第[3]行的mysql单元格中

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”

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/41053
文章 [ 1 ]  |  最新文章 7 年前
Maaz
Reply   •   1 楼
Maaz    7 年前

我想是因为你打电话给 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()