本文实例讲述了Python3爬虫学习之MySQL数据库存储爬取的信息。分享给大家供大家参考,具体如下:

数据库存储爬取的信息(MySQL)

爬取到的数据为了更好地进行分析利用,而之前将爬取得数据存放在txt文件中后期处理起来会比较麻烦,很不方便,如果数据量比较大的情况下,查找更加麻烦,所以我们通常会把爬取的数据存储到数据库中便于后期分析利用。

这里,数据库选择MySQL,采用pymysql 这个第三方库来处理python和mysql数据库的存取,python连接mysql数据库的配置信息

db_config ={

'host': '127.0.0.1',

'port': 3306,

'user': 'root',

'password': '',

'db': 'pytest',

'charset': 'utf8'

}

以爬取简书首页文章标题以及url为例,先分析抓取目标信息,

如上图,文章题目在a标签中,且url(href)只含有后半部分,所以在存储的时候,最好把它补全。

mysql:新建一个数据库pytest,建立一张名为titles的表,表中字段分别为id(int自增),title(varchar),url(varchar),如下:

进行数据库操作的思路为:获得数据库连接(connection)->获得游标(cursor)->执行sql语句(execute)->事物提交(commit)->关闭数据据库连接(close),具体代码实现如下:

# -*- coding:utf-8 -*-

from urllib import request

from bs4 import BeautifulSoup

import pymysql

# mysql连接信息(字典形式)

db_config ={

'host': '127.0.0.1',

'port': 3306,

'user': 'root',

'password': '',

'db': 'pytest',

'charset': 'utf8'

}

# 获得数据库连接

connection = pymysql.connect(**db_config)

# 数据库配置,获得连接(参数方式)

# connection = pymysql.connect(host='127.0.0.1',

# port=3306,

# user='root',

# password='',

# db='pytest',

# charset='utf8')

url = r'http://www.jianshu.com/'

# 模拟浏览器头

headers = {

'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36'

}

page = request.Request(url, headers=headers)

page_info = request.urlopen(page).read().decode('utf-8')

soup = BeautifulSoup(page_info, 'html.parser')

urls = soup.find_all('a', 'title')

try:

# 获得数据库游标

with connection.cursor() as cursor:

sql = 'insert into titles(title, url) values(%s, %s)'

for u in urls:

# 执行sql语句

cursor.execute(sql, (u.string, r'http://www.jianshu.com'+u.attrs['href']))

# 事务提交

connection.commit()

finally:

# 关闭数据库连接

connection.close()

代码执行结果:

希望本文所述对大家Python程序设计有所帮助。

以下用于数据存储领域的python第三方库是-Python3爬虫学习之MySQL数据库存储爬取的信息详解...相关推荐

  1. 以下用于数据存储领域的python第三方库是-『爬虫四步走』手把手教你使用Python抓取并存储网页数据!...

    第一步:尝试请求 首先进入b站首页,点击排行榜并复制链接 https://www.bilibili.com/ranking?spm_id_from=333.851.b_7072696d61727950 ...

  2. 以下用于数据存储领域的python第三方库是-Python 二级选择题

    88.下面代码的输出结果是 ( A ) print(round(0.1 + 0.2,1) == 0.3) A: True B: 0 C: 1 D: False 解释: round 是一个四舍五入的函数 ...

  3. 以下用于数据存储领域的python第三方库是-南开《网络爬虫与信息提取》19秋期末考核题目【标准答案】...

    <网络爬虫与信息提取>19秋期末考核-0001 试卷总分:100 得分:70 一.单选题 (共 20 道试题,共 40 分) 1.如果很多爬虫同时对一个网站全速爬取,那么其实就是对网站进行 ...

  4. 以下用于数据存储领域的python第三方库是-Python数据存储及表示

    [http://naotu.baidu.com/file/15cbc506e3da5e640a40659058d5be24?token=873f2ab3461d8f9a](http://naotu.b ...

  5. 以下用于数据存储领域的python第三方库是-python第三方库系列之一--json

    认真生活每一天,认真敲好每一行代码,为了未来的小公主,好好学习,天天向上~ 一.先讲讲json的出现,就要先讲讲序列化 1. 序列化(Serialization):将对象的状态信息转换为可以存储或可以 ...

  6. Python爬虫学习基础——5分钟学会爬取B站视频日播放量排行

    Python爬虫学习基础--5分钟学会爬取B站视频日播放量排行 基础包含 requests pyquery 进入正题 基础包含 这也是我当初第一次学习爬虫时做的练习,感觉给初学者练笔挺不错的.运用的知 ...

  7. 知乎python练手的_Python—爬虫之初级实战项目:爬取知乎任一作者的文章练手

    爬虫之初级实战项目:爬取知乎任一作者的文章练手 在正式上代码之前,先过一遍之前所学知识的框架内容,温故而知新!!! 接下来我们直接上代码,一定要手敲代码.手敲代码.手敲代码!!! import req ...

  8. 用于计算机视觉领域的python第三方库是什么_大量Python开源第三方库资源分类整理,含菜鸟教程章节级别链接...

    Python是一种面向对象的解释型计算机程序设计语言,由荷兰人Guido van Rossum于1989年发明.因其具有丰富和强大的库,它常被称为胶水语言,能够把用其它语言制作的各种模块(尤其是C/C ...

  9. 爬取图片到mysql数据库_爬取微博图片数据存到Mysql中遇到的各种坑\mysql存储图片\爬取微博图片...

    前言 由于硬件等各种原因需要把大概170多万2t左右的微博图片数据存到Mysql中.之前存微博数据一直用的非关系型数据库mongodb,由于对Mysql的各种不熟悉,踩了无数坑,来来回回改了3天才完成 ...

最新文章

  1. c 与matlab混编,谈谈Matlab与C/C++或C#的互调用(混合编程)
  2. 【Linux】Shell三类变量的作用域——linux shell “永久环境变量”、“临时环境变量”和普通变量之完全解读...
  3. 让CPU占用率听你指挥
  4. Android Studio 小技巧/快捷键 合集
  5. PHP+MySQL登录注册,完整版,详细注释
  6. 在Castle中使用nhibernate
  7. 将一个大文件分成若干个小文件方法
  8. iis负载均衡与文件同步[网摘]
  9. c# MEF框架(一 MEF简介及简单的Demo)
  10. SpringCloud创建Eureka模块集群
  11. Python字符集编码和文件读写
  12. 线上阿里云mysql慢_MySQL · 案例分析 · RDS MySQL线上实例insert慢常见原因分析-阿里云开发者社区...
  13. 信号与系统郭宝龙版 第二章 连续系统的时域分析 思维导图
  14. MIPS,程序的CPI,时钟周期计算(主频的计算)
  15. 网站APP信息以及用户数据泄露排查方案
  16. 笑话:如果你在河边等待得足够久,你会看到你的敌人的尸体漂过,是怎么翻译出来的?
  17. 宁宛 机器人_全文阅读 .001 忠犬机器人
  18. android 剪切板监听_Android剪贴板操作
  19. 基于Python的豆果网食谱数据爬取及可视化分析系统
  20. SolidWorks如何提取stp格式装配体中的零件图

热门文章

  1. sata接口_接口不同有啥区别?M.2和SATA接口SSD该选哪种?
  2. mysql多列索引用处_MySQL索引使用说明(单列索引和多列索引)
  3. css3.0动画,CSS3.0实现霓虹灯按钮动画特效的示例代码
  4. ajax提交form表单数据_[基础编程学习] [PHP7数组详解]:第2章 (1)从表单提交数据说起...
  5. android从放弃到精通 第12天 勿忘初心
  6. python 统计文件top IP
  7. xadmin 更改后台一级目录名称
  8. 记一次CPU占用率和load高的排查
  9. 2018 icpc 徐州现场赛G-树上差分+组合数学-大佬的代码
  10. Tomcat配置虚拟路径访问容器外的硬盘资源