#!/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;

谢谢!

Python爬取金山词霸每日一句,存储到MySQL中的更多相关文章

  1. Python爬取招聘信息,并且存储到MySQL数据库中

    前面一篇文章主要讲述,如何通过Python爬取招聘信息,且爬取的日期为前一天的,同时将爬取的内容保存到数据库中:这篇文章主要讲述如何将python文件压缩成exe可执行文件,供后面的操作. 这系列文章 ...

  2. Python爬取新浪微博评论数据,写入csv文件中

    因为新浪微博网页版爬虫比较困难,故采取用手机网页端爬取的方式 操作步骤如下: 1. 网页版登陆新浪微博 2.打开m.weibo.cn 3.查找自己感兴趣的话题,获取对应的数据接口链接 4.获取cook ...

  3. 爬取豆瓣电影top250并存储到mysql数据库

    import requests from lxml import etree import re import pymysql import time conn= pymysql.connect(ho ...

  4. Python3爬取前程无忧数据分析工作并存储到MySQL

    1.导入包import requests #取数from lxml import etree #用xpath解析import pymysql #连接数据库import chardet #自动获取编码2 ...

  5. Python3.5爬取豆瓣电视剧数据并且同步到mysql中

    #!/usr/local/bin/python # -*- coding: utf-8 -*- # Python: 3.5 # Author: zhenghai.zhang@xxx.com # Pro ...

  6. Python3.5爬取cbooo.cn数据并且同步到mysql中

    #!/usr/local/bin/python # -*- coding: utf-8 -*- # Python: 3.5 # Author: wucl(),zhenghai.zhang # Prog ...

  7. 利用python爬取海量疾病名称百度搜索词条目数的爬虫实现

    实验原因: 目前有一个医疗百科检索项目,该项目中对关键词进行检索后,返回的结果很多,可惜结果的排序很不好,影响用户体验.简单来说,搜索出来的所有符合疾病中,有可能是最不常见的疾病是排在第一个的,而最有 ...

  8. python爬取网站数据

    开学前接了一个任务,内容是从网上爬取特定属性的数据.正好之前学了python,练练手. 编码问题 因为涉及到中文,所以必然地涉及到了编码的问题,这一次借这个机会算是彻底搞清楚了. 问题要从文字的编码讲 ...

  9. python爬取网站数据保存使用的方法

    这篇文章主要介绍了使用Python从网上爬取特定属性数据保存的方法,其中解决了编码问题和如何使用正则匹配数据的方法,详情看下文     编码问题因为涉及到中文,所以必然地涉及到了编码的问题,这一次借这 ...

随机推荐

  1. POJ 3660 Cow Contest. (传递闭包)【Floyd】

    <题目链接> 题目大意: 有n头牛, 给你m对关系(a, b)表示牛a能打败牛b, 求在给出的这些关系下, 能确定多少牛的排名. 解题分析: 首先,做这道题要明确,什么叫确定牛的排名.假设 ...

  2. HQL count(*)

    public int getTarPage() {        String hql = "'";        Query query = getSession().creat ...

  3. C# VideoAPI

    using System; using System.Runtime.InteropServices; public class VideoAPI //视频API类 { // 视频API调用 [Dll ...

  4. C# 重启程序本身

    private static void Restart() { Thread thtmp = new Thread(new ParameterizedThreadStart(run)); object ...

  5. SQLite中的SELECT子句使用表达式

    SQLite中的SELECT子句使用表达式 在SELECT语句中可以只有SELECT子句不写FROM子句.这些表达式列表将被单次计算,生成一行,然后组成工作表.这对于测试和判断独立表达式很有用.例如, ...

  6. POJ.3537.Crosses and Crosses(博弈论 Multi-SG)

    题目链接 \(Description\) 有一个一行n列的棋盘,每个人每次往上放一个棋子,将三个棋子连在一起的人赢.问是否有必胜策略. \(Solution\) 首先一个人若在\(i\)处放棋子,那么 ...

  7. Android监听view的attached或detached状态

    我们在开发中,希望监听View的attached或detached状态,来进行比如eventbus的注册与解注册的操作,非常的方便实用. 可以使用系统给我们提供的listener,代码使用如下: mV ...

  8. netty同时做http和websocket(netty入门)

    ---恢复内容开始--- http://www.jianshu.com/p/5c29c6c6d28c ---恢复内容结束--- http://www.jianshu.com/p/5c29c6c6d28 ...

  9. javascript中break与continue,及return的区别

    a).在循环体中, break是跳出整个循环,不执行以后的循环语句: continue是结束本次循环语句,进入下一个循环: b). 在if判断句,结束该函数的执行时,用 return: c). 在函数 ...

  10. [TenserFlow学习笔记]——安装

    最近人工智能.深度学习.机器学习等词汇很是热闹,所以想进一步学习一下.不一定吃这口饭,但多了解一下没有坏处.接下来将学习到的一些知识点做一下记录. 1.安装环境 在VMWare虚拟机中安装最新版本的U ...