1
我目前正在學習Python,並且我已經陷入了一個奇怪的問題。Python/MySQL Select返回None與%s
我從一個網站使用beautifulsoup,我已經可以保存到MySQL數據庫。現在我想讓腳本首先檢查抓取的URL是否已經在數據庫中。
查詢看起來是這樣的:
check_url = "SELECT url FROM shop_ig " \
"WHERE url = '%s'"
在這裏我得到的網址:
soup = BeautifulSoup(plain_text, "html.parser")
for link in soup.findAll('a', {'class': 'ig-preorders-item'}):
href = link.get('href')
print(href)
現在,我有網址,我想檢查是否href是已經在數據庫中所以我執行查詢使用:
## Check if url is in db
cursor.execute(check_url, href)
data = cursor.fetchone()
sqlconnect.commit()
現在奇怪的事情,數據返回None,但是,如果我輸入一個永久性的url到查詢中,它會在數據庫中找到url。
可您打印cursor._executed? – eyalsh
是的,返回b「SELECT URL FROM shop_instantgaming WHERE url ='%s'」 有趣 – Nolibert
'cursor.execute(check_url,(href,))'而不是'cursor.execute(check_url,href)''。 – alecxe