Python爬取数据并写入MySQL数据库的实例


Posted in Python onJune 21, 2018

首先我们来爬取 http://html-color-codes.info/color-names/ 的一些数据。

Python爬取数据并写入MySQL数据库的实例

按 F12 或 ctrl+u 审查元素,结果如下:

Python爬取数据并写入MySQL数据库的实例

结构很清晰简单,我们就是要爬 tr 标签里面的 style 和 tr 下几个并列的 td 标签,下面是爬取的代码:

#!/usr/bin/env python
# coding=utf-8
import requests
from bs4 import BeautifulSoup
import MySQLdb
print('连接到mysql服务器...')
db = MySQLdb.connect("localhost","hp","Hp12345.","TESTDB")
print('连接上了!')
cursor = db.cursor()
cursor.execute("DROP TABLE IF EXISTS COLOR")
sql = """CREATE TABLE COLOR (
  Color CHAR(20) NOT NULL,
  Value CHAR(10),
  Style CHAR(50) )"""
cursor.execute(sql)
hdrs = {'User-Agent':'Mozilla/5.0 (X11; Fedora; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko)'}
url = "http://html-color-codes.info/color-names/"
r = requests.get(url, headers = hdrs)
soup = BeautifulSoup(r.content.decode('gbk', 'ignore'), 'lxml')
trs = soup.find_all('tr') # 获取全部tr标签成为一个列表
for tr in trs:    # 遍历列表里所有的tr标签单项
 style = tr.get('style') # 获取每个tr标签里的属性style
 tds = tr.find_all('td') # 将每个tr标签下的td标签获取为列表
 td = [x for x in tds] # 获取的列表
 name = td[1].text.strip()  # 直接从列表里取值
 hex = td[2].text.strip()
 # print u'颜色: ' + name + u'颜色值: '+ hex + u'背景色样式: ' + style
 # print 'color: ' + name + '\tvalue: '+ hex + '\tstyle: ' + style
 insert_color = ("INSERT INTO COLOR(Color,Value,Style)" "VALUES(%s,%s,%s)")
 data_color = (name, hex, style)
 cursor.execute(insert_color, data_color)
 db.commit()
 # print '******完成此条插入!' 
print '爬取数据并插入mysql数据库完成...'

运行结果:

Python爬取数据并写入MySQL数据库的实例

$ mysql -u hp -p
Enter password: 
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 28
Server version: 5.7.17 MySQL Community Server (GPL)
Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> use TESTDB
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> select * from COLOR;
+----------------------+--------+----------------------------------------+
| Color    | Value | Style         |
+----------------------+--------+----------------------------------------+
| IndianRed   | CD5C5C | background-color:indianred;   |
| LightCoral   | F08080 | background-color:lightcoral;   |
| Salmon    | FA8072 | background-color:salmon;    |
| DarkSalmon   | E9967A | background-color:darksalmon;   |
| LightSalmon   | FFA07A | background-color:lightsalmon;   |
| Crimson    | DC143C | background-color:crimson;    |
| Red     | FF0000 | background-color:red;     |
| FireBrick   | B22222 | background-color:fireBrick;   |
| DarkRed    | 8B0000 | background-color:darkred;    |
| Pink     | FFC0CB | background-color:pink;     |
| LightPink   | FFB6C1 | background-color:lightpink;   |
| HotPink    | FF69B4 | background-color:hotpink;    |
| DeepPink    | FF1493 | background-color:deeppink;    |
...
| AntiqueWhite   | FAEBD7 | background-color:antiquewhite;   |
| Linen    | FAF0E6 | background-color:linen;    |
| LavenderBlush  | FFF0F5 | background-color:lavenderblush;  |
| MistyRose   | FFE4E1 | background-color:mistyrose;   |
| Gainsboro   | DCDCDC | background-color:gainsboro;   |
| LightGrey   | D3D3D3 | background-color:lightgrey;   |
| Silver    | C0C0C0 | background-color:silver;    |
| DarkGray    | A9A9A9 | background-color:darkgray;    |
| Gray     | 808080 | background-color:gray;     |
| DimGray    | 696969 | background-color:dimgray;    |
| LightSlateGray  | 778899 | background-color:lightslategray;  |
| SlateGray   | 708090 | background-color:slategray;   |
| DarkSlateGray  | 2F4F4F | background-color:darkslategray;  |
| Black    | 000000 | background-color:black;    |
+----------------------+--------+----------------------------------------+
143 rows in set (0.00 sec)

以上这篇Python爬取数据并写入MySQL数据库的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
详解python如何调用C/C++底层库与互相传值
Aug 10 Python
django模板语法学习之include示例详解
Dec 17 Python
利用Python将每日一句定时推送至微信的实现方法
Aug 13 Python
浅析python中的迭代与迭代对象
Oct 08 Python
新年快乐! python实现绚烂的烟花绽放效果
Jan 30 Python
利用PyCharm Profile分析异步爬虫效率详解
May 08 Python
Python解压 rar、zip、tar文件的方法
Nov 19 Python
浅谈在django中使用filter()(即对QuerySet操作)时踩的坑
Mar 31 Python
Jupyter Notebook远程登录及密码设置操作
Apr 10 Python
OpenCV4.1.0+VS2017环境配置的方法步骤
Jul 09 Python
flask开启多线程的具体方法
Aug 02 Python
python打包生成so文件的实现
Oct 30 Python
python实现黑客字幕雨效果
Jun 21 #Python
python实现内存监控系统
Mar 07 #Python
Python之csv文件从MySQL数据库导入导出的方法
Jun 21 #Python
python 从csv读数据到mysql的实例
Jun 21 #Python
OPENCV去除小连通区域,去除孔洞的实例讲解
Jun 21 #Python
python读取文本绘制动态速度曲线
Jun 21 #Python
python实现可视化动态CPU性能监控
Jun 21 #Python
You might like
国外PHP程序员的13个好习惯小结
2012/02/20 PHP
解析dedecms空间迁移步骤详解
2013/05/15 PHP
PHP JS Ip地址及域名格式检测代码
2013/09/27 PHP
模板引擎smarty工作原理以及使用示例
2014/05/25 PHP
PHP二分查找算法示例【递归与非递归方法】
2016/09/29 PHP
PHP编程实现多维数组按照某个键值排序的方法小结【2种方法】
2017/04/27 PHP
laravel5使用freetds连接sql server的方法
2018/12/07 PHP
Javascript中的数学函数集合
2007/05/08 Javascript
使图片旋转的3种解决方案
2013/11/21 Javascript
document.execCommand()的用法小结
2014/01/08 Javascript
Jquery通过JSON字符串创建JSON对象
2014/08/24 Javascript
node.js中的fs.openSync方法使用说明
2014/12/17 Javascript
jquery制作LED 时钟特效
2015/02/01 Javascript
jQuery 调用WebService 实例讲解
2016/06/28 Javascript
DWR3 访问WEB元素的两种方法实例详解
2017/01/03 Javascript
js中setTimeout的妙用--防止循环超时
2017/03/06 Javascript
vue底部加载更多的实例代码
2018/06/29 Javascript
关于微信小程序获取小程序码并接受buffer流保存为图片的方法
2019/06/07 Javascript
js获取对象,数组所有属性键值(key)和对应值(value)的方法示例
2019/06/19 Javascript
[01:18:35]DOTA2-DPC中国联赛 正赛 Elephant vs LBZS BO3 第一场 1月29日
2021/03/11 DOTA
python中偏函数partial用法实例分析
2015/07/08 Python
深入解析Python中的集合类型操作符
2015/08/19 Python
实例Python处理XML文件的方法
2015/08/31 Python
Python实现输出程序执行进度百分比的方法
2017/09/16 Python
django 多数据库配置教程
2018/05/30 Python
python查看列的唯一值方法
2018/07/17 Python
对Python _取log的几种方式小结
2019/07/25 Python
Python实现滑动平均(Moving Average)的例子
2019/08/24 Python
Python使用turtle库绘制小猪佩奇(实例代码)
2020/01/16 Python
Django ForeignKey与数据库的FOREIGN KEY约束详解
2020/05/20 Python
Python识别处理照片中的条形码
2020/11/16 Python
五好党支部事迹材料
2014/02/06 职场文书
大学生就业求职信
2014/06/12 职场文书
兽医医药专业求职信
2014/07/27 职场文书
调任通知
2015/04/21 职场文书
《吃水不忘挖井人》教学反思
2016/02/22 职场文书