跳转到主内容
极星编程网:以代码为星,赴技术山海!

将爬取数据存入mysql

python 与 mysql 数据连接 用py mysql
import pymysql conn =pymysql.connect(host='127.0.0.1',user='root',password='123456',db='company',charset="utf8") cur=conn.cursor() sql=‘’‘

’‘’employee=cur.execute(sql) conn.commit() cur.close() conn.close()
基本操作大概就这样 这次爬取的是淘宝商品页面 过程就略了放代码
import requestsimport reimport pymysqldef getHTMLtext(url): try: r=requests.get(url,timeout=100) r.raise_for_status() r.encoding=r.apparent_encoding return r.text except: return ""def getpage(itl,html): try: plt=re.findall(r'"view_price":"[\d.]*"',html) nlt=re.findall(r'"raw_title":".*?"',html) for i in range(len(plt)): price = eval(plt[i].split(':')[1]) title = eval(nlt[i].split(':')[1]) itl.append([price, title]) except: print("")def printgoods(itl): tplt = "{:2}\t{:8}\t{:16}" print(tplt.format("序号", "价格", "商品名称")) count = 0 conn = pymysql.connect(host='127.0.0.1', user='root', password='123456', db='company',charset="utf8") cur = conn.cursor() sqlc = ''' create table coffee( id int(11) not null auto_increment primary key, name varchar(255) not null, price float not null)DEFAULT CHARSET=utf8; ''' try: A = cur.execute(sqlc) conn.commit() print('成功') except: print("错误") for g in itl: count = count + 1 b=tplt.format(count, g[0], g[1]) sqla = ''' insert into coffee(name,price) values(%s,%s); ''' try: B = cur.execute(sqla,(g[1],g[0])) conn.commit() print('成功') except: print("错误") # save_path = 'D:/taobao.txt' # f=open(save_path,'a') # # f.write(b+'\n') # f.close() conn.commit() cur.close() conn.close()def main(): goods="咖啡" depth =2 start_url='https://s.taobao.com/search?q='+goods List =[] for i in range(depth): try: url =start_url +"&s="+ str(i*44) html=getHTMLtext(url) getpage(List,html) except: continue print(printgoods(List)) # savefiles(data)main()
MySQL(Linux) MySQL 9.6.0是面向Linux平台的2026年创新版本,核心架构迎来重大革新。其将外键约束与级联操作从InnoDB引擎层上移至SQL层,确保所有数据变更均被完整记录至Binlog,彻底解决了CDC(变更数据捕获)与主从复制中的数据不一致难题。此外,该版本引入container_aware启动选项以原生适配容器环境,并对审计日志进行了组件化重构,为追求极致数据一致性与云原生体验的开发者提供了全新选择。 下载 可以看到所需要的数据已经存入数据库了

相关文章