SQLAlchemy警告应该明确声明文本列表达式吗?

时间:2019-02-01 16:12:27

标签: python python-3.x sqlalchemy

我一直收到此警告,无论似乎没有什么可以消除(除了压制它):

import requests
from bs4 import BeautifulSoup

url = "https://www.geant.tn/"
response = requests.get(url)
# parse html
soup = BeautifulSoup(response.content, "html.parser")

def getURLs(soup):
    return [a_tag['href'] for a_tag in soup.find_all('a', href=True) if a_tag['href'].endswith('.html')]

urls = getURLs(soup)

for url in urls:
    print url

我在一个元数据上下文中构建Column()对象的列表(列名+数据类型),然后在另一个元数据上下文中使用此列表创建一个表。尽管这可行,但确实会发出警告。我尝试过:

  • 将其存储为“ quotedname”
  • 使用column()将列投射到“ ColumnClause”
  • 使用text()将列投射到“ TextClause”
  • 使用str()将列投射到字符串中

无论如何,我仍然会收到警告。

以下是一些Python代码片段:

https://www.geant.tn/evenement-geant.html
https://www.geant.tn/electromenager-35.html
https://www.geant.tn/gros-electromenager-50.html
https://www.geant.tn/petit-electromenager-53.html

1 个答案:

答案 0 :(得分:0)

您应该按照错误说明将其转换为文本。为此,请根据您的需要修改以下代码:)

from sqlalchemy.sql import text
...
cursor.execute(text(<whatever_needed_to_be_casted>))