Tôi giả định rằng cols
chứa 5 phần tử, theo thứ tự bạn đã trình bày trong bảng của mình, nếu không thì hãy điều chỉnh các chỉ mục.
import csv
import urllib.request
from bs4 import BeautifulSoup
conn = psycopg2.connect(database='--', user='--', password='--', port='--')
cursor = conn.cursor()
soup = BeautifulSoup(urllib.request.urlopen(
"http://tis.nhai.gov.in/TollInformation?TollPlazaID=236").read(), 'lxml')
tbody = soup('table', {"class": "tollinfotbl"})[0].find_all('tr')
for row in tbody:
cols = row.findChildren(recursive=False)
cols = [ele.text.strip() for ele in cols]
if cols:
vehicle_type = cols[0]
one_time = int(cols[1])
return_strip = int(cols[2])
monthly_pass = int(cols[3])
local_vehicle = int(cols[4])
query = "INSERT INTO table_name (vehicle_type, return_strip, monthly_pass, local_vehicle) VALUES (%s, %s, %s, %s, %s);"
data = (vehicle_type, one_time, return_strip, monthly_pass, local_vehicle)
cursor.execute(query, data)
# Commit the transaction
conn.commit()