【发布时间】:2022-10-01 02:47:13
【问题描述】:
我从 truecar.com 提取数据。此信息包含不同汽车的价格和里程。现在,我想将此信息插入到表格中,但我的代码无法创建表格并且只返回 \'price\' 和 \'miles\' 而不是它们的数字。我怎样才能解决这个问题?
这是我的代码:
import requests
from bs4 import BeautifulSoup
import mysql.connector
car=str(input())
ur=\'https://www.truecar.com/used-cars-for-sale/listings/\'
url=ur+car
r=requests.get(url)
soup=BeautifulSoup(r.text,\'html.parser\')
data = []
for card in soup.select(\'[class=\"card-content vehicle-card-body order-3 vehicle-card-carousel-
body\"]\'):
price = card.select_one(\'[class=\"heading-3 margin-y-1 font-weight-bold\"]\').text
miles = card.select_one(\'div[class=\"d-flex w-100 justify-content-between\"]\').text
data.append({
\'price\':price,
\'miles\':miles
})
print(data)
cnx = mysql.connector.connect(user=\'root\', password=\'\',
host=\'127.0.0.1\',
database=\'truecar\')
cursor = cnx.cursor()
for price,miles in data:
cursor.execute(\"INSERT INTO car VALUES(\\\'%s\\\',\\\'%s\\\')\"%(price,miles))
cnx.commit()
cnx.close()
-
请澄清您所说的“不起作用”是什么意思?请澄清实际发生的情况。
-
@ewong,而不是我表中的数字,我只有字符串 \'price\' 和 \'miles\'。我想在我的数据中有数字。
-
很明显,在 \'for\' 循环附近的缩进存在问题。此处发布的代码是实际代码吗?在 another question 中,意图似乎是 print 语句属于 \'for\' 循环之前的行。