- import requests
from bs4 import BeautifulSoup
import pandas as pd
为解决的问题,循环没起作用
data = []
wb_data = requests.get('http://www.kugou.com/yy/rank/home/1-8888.html')
soup = BeautifulSoup(wb_data.text,'lxml')
ranks = soup.select('span.pc_temp_num')
titles = soup.select('div.pc_temp_songlist li')
times = soup.select('span.pc_temp_tips_r>span')
for rank,title,time in zip(ranks,titles,times):
a = {
'rank':rank.get_text().strip(),
'singer':title.get_text().split('-')[0].split('\n')[-1],
'song':title.get_text().split('-')[1].split('\n')[0],
'time':time.get_text().strip()
}
data.append(a)
data
-
from pandas import DataFrame
df = DataFrame(data)
data -
import pymysql
import pandas as pd
from pandas import DataFrame
from pandas import Series -
数据库手动更改编码格式
conn = pymysql.connect(
host = 'localhost',
user = 'root',
password = '986532aa',
db = 'pystudy',
port = 3306,
charset = 'utf8'
)
cursor= conn.cursor()
rows = cursor.execute('select * from ch4ex9')
rows
cursor = conn.cursor()
creat = '''
CREATE TABLE text3(
rank int,
singer char(8),
song char(8),
time char(8)
)engine innodb default charset = utf8;'''
cursor.execute(creat)
conn.commit()
df.to_sql(name='text3',con= 'mysql+pymysql://root:986532aa@localhost:3306/pystudy?charset=utf8',if_exists='replace',index=False)