Python爬取金山词霸每日一句,存储到MySQL中

本文介绍了一个Python脚本,用于爬取金山词霸每日一句,并将其存储到MySQL数据库中。该脚本使用requests获取数据,通过json解析数据,并利用pymysql将数据插入到特定表中。

 

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : 2018/7/3 20:25
# @Author  : baoshan
# @Site    : 
# @File    : iciba.py.py
# @Software: PyCharm Community Edition
# 爬取金山词霸每日一句放到数据库中存储

import json
import requests
import pymysql

host = '10.10.1.10'
port = 3306
user = 'root'
passwd = 'root'
dbme = 'information_storage'
table = 'iciba_daily_sentence'


conn = pymysql.connect(host=host, user=user, passwd=passwd, db=dbme, port=port, charset="utf8")
cur = conn.cursor()


data = requests.get("http://open.iciba.com/dsapi/").text
jdata = json.loads(data)
dateline = jdata.get("dateline")
caption = jdata.get("caption")
content = jdata.get("content")
fenxiang_img = jdata.get("fenxiang_img")
note = jdata.get("note")
picture = jdata.get("picture")
picture2 = jdata.get("picture2")
translation = jdata.get("translation")
tts = jdata.get("tts")


sql = 'insert into %s (dateline,caption,content,fenxiang_img,note,picture,picture2,translation,tts) ' \
      'values ("%s", "%s", "%s", "%s", "%s", "%s", "%s", "%s","%s")' \
      % (table, dateline,caption,content,fenxiang_img,note,picture,picture2,translation,tts)
print(sql)
try:
    cur.execute(sql)
except:
    print("error")

print(json.dumps(jdata, ensure_ascii=False))
conn.commit()

conn.close()

 

数据库表结构如下

CREATE TABLE `iciba_daily_sentence` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `dateline` char(10) DEFAULT NULL,
  `caption` varchar(20) DEFAULT NULL,
  `content` varchar(255) DEFAULT NULL,
  `fenxiang_img` varchar(255) DEFAULT NULL,
  `note` varchar(255) DEFAULT NULL,
  `picture` varchar(255) DEFAULT NULL,
  `picture2` varchar(255) DEFAULT NULL,
  `translation` varchar(255) DEFAULT NULL,
  `tts` varchar(255) DEFAULT NULL,
  `gmt_create` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  UNIQUE KEY `uniq_dateline` (`dateline`)
) ENGINE=InnoDB AUTO_INCREMENT=16 DEFAULT CHARSET=utf8mb4;

 

谢谢!

转载于:https://www.cnblogs.com/zhzhang/p/9260767.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值