python存入MySQL数据库中的内容:如图画圈的内容:
其中第一行是控制台打印的,第二行才是存入的内容
这种在MySQL中怎么设置type呢?python每次都弹出pymysq.err.ProgramingError:(1064,...)
我的代码
from bs4 import BeautifulSoup
import requests
import pymysql
conn=pymysql.connect(host='localhost',user='root',passwd='789456',db='weather',port=3306,charset='utf8')
cursor=conn.cursor()
def get_temperature(url):
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36'} # 设置头文件信息
response = requests.get(url, headers=headers).content # 提交requests get 请求
soup = BeautifulSoup(response, "lxml") # 用Beautifulsoup 进行解析
conmid = soup.find('div', class_='conMidtab')
conmid2 = conmid.findAll('div', class_='conMidtab2')
for info in conmid2:
a=info.find('tr')
tds = a.find_all('td')
tm = tds[2].text
tr_list = info.find_all('tr')[2:] # 使用切片取到第三个tr标签
for index, tr in enumerate(tr_list): # enumerate可以返回元素的位置及内容
td_list = tr.find_all('td')
if index == 0: # tr_list的列表中第一个tr时有市名,第二个tr没有市名,只有省名
province_name = td_list[0].text.replace('\n', '') # 取每个标签的text信息,并使用replace()函数将换行符删除
city_name = td_list[1].text.replace('\n', '')
weather = td_list[5].text.replace('\n', '')
wind = td_list[6].text.replace('\n', '')
max = td_list[4].text.replace('\n', '')
min = td_list[7].text.replace('\n', '')
print(province_name,tm)
else:
city_name = td_list[0].text.replace('\n', '')
weather = td_list[4].text.replace('\n', '')
wind = td_list[5].text.replace('\n', '')
max = td_list[3].text.replace('\n', '')
min = td_list[6].text.replace('\n', '')
print(city_name, weather, wind, max, min, tm)
# 插入产品信息
# sql = "INSERT INTO tqyb(city,weather,wind,max,min) VALUES ('%s','%s','%s','%s','%s')" % (city_name, weather, wind, max, min)
sql = "INSERT INTO mytqyb(city,weather,wind,max,min,tm) VALUES ('%s','%s','%s','%s', '%s', ‘%s’)" % ( city_name, weather, wind, max, min, tm )
cursor.execute(sql)
if __name__ == '__main__':
urls = ['http://www.weather.com.cn/textFC/hb.shtml',
'http://www.weather.com.cn/textFC/db.shtml',
'http://www.weather.com.cn/textFC/hd.shtml',
'http://www.weather.com.cn/textFC/hz.shtml',
'http://www.weather.com.cn/textFC/hn.shtml',
'http://www.weather.com.cn/textFC/xb.shtml',
'http://www.weather.com.cn/textFC/xn.shtml']
for url in urls:
get_temperature(url)
conn.commit()
conn.close()
我的目的是将城市,天气,时间等保存到MySQL