以下用于数据存储领域的python第三方库是-Python3爬虫学习之MySQL数据库存储爬取的信息详解...
本文实例讲述了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数据库存储爬取的信息详解...相关推荐
- 以下用于数据存储领域的python第三方库是-『爬虫四步走』手把手教你使用Python抓取并存储网页数据!...
第一步:尝试请求 首先进入b站首页,点击排行榜并复制链接 https://www.bilibili.com/ranking?spm_id_from=333.851.b_7072696d61727950 ...
- 以下用于数据存储领域的python第三方库是-Python 二级选择题
88.下面代码的输出结果是 ( A ) print(round(0.1 + 0.2,1) == 0.3) A: True B: 0 C: 1 D: False 解释: round 是一个四舍五入的函数 ...
- 以下用于数据存储领域的python第三方库是-南开《网络爬虫与信息提取》19秋期末考核题目【标准答案】...
<网络爬虫与信息提取>19秋期末考核-0001 试卷总分:100 得分:70 一.单选题 (共 20 道试题,共 40 分) 1.如果很多爬虫同时对一个网站全速爬取,那么其实就是对网站进行 ...
- 以下用于数据存储领域的python第三方库是-Python数据存储及表示
[http://naotu.baidu.com/file/15cbc506e3da5e640a40659058d5be24?token=873f2ab3461d8f9a](http://naotu.b ...
- 以下用于数据存储领域的python第三方库是-python第三方库系列之一--json
认真生活每一天,认真敲好每一行代码,为了未来的小公主,好好学习,天天向上~ 一.先讲讲json的出现,就要先讲讲序列化 1. 序列化(Serialization):将对象的状态信息转换为可以存储或可以 ...
- Python爬虫学习基础——5分钟学会爬取B站视频日播放量排行
Python爬虫学习基础--5分钟学会爬取B站视频日播放量排行 基础包含 requests pyquery 进入正题 基础包含 这也是我当初第一次学习爬虫时做的练习,感觉给初学者练笔挺不错的.运用的知 ...
- 知乎python练手的_Python—爬虫之初级实战项目:爬取知乎任一作者的文章练手
爬虫之初级实战项目:爬取知乎任一作者的文章练手 在正式上代码之前,先过一遍之前所学知识的框架内容,温故而知新!!! 接下来我们直接上代码,一定要手敲代码.手敲代码.手敲代码!!! import req ...
- 用于计算机视觉领域的python第三方库是什么_大量Python开源第三方库资源分类整理,含菜鸟教程章节级别链接...
Python是一种面向对象的解释型计算机程序设计语言,由荷兰人Guido van Rossum于1989年发明.因其具有丰富和强大的库,它常被称为胶水语言,能够把用其它语言制作的各种模块(尤其是C/C ...
- 爬取图片到mysql数据库_爬取微博图片数据存到Mysql中遇到的各种坑\mysql存储图片\爬取微博图片...
前言 由于硬件等各种原因需要把大概170多万2t左右的微博图片数据存到Mysql中.之前存微博数据一直用的非关系型数据库mongodb,由于对Mysql的各种不熟悉,踩了无数坑,来来回回改了3天才完成 ...
最新文章
- c 与matlab混编,谈谈Matlab与C/C++或C#的互调用(混合编程)
- 【Linux】Shell三类变量的作用域——linux shell “永久环境变量”、“临时环境变量”和普通变量之完全解读...
- 让CPU占用率听你指挥
- Android Studio 小技巧/快捷键 合集
- PHP+MySQL登录注册,完整版,详细注释
- 在Castle中使用nhibernate
- 将一个大文件分成若干个小文件方法
- iis负载均衡与文件同步[网摘]
- c# MEF框架(一 MEF简介及简单的Demo)
- SpringCloud创建Eureka模块集群
- Python字符集编码和文件读写
- 线上阿里云mysql慢_MySQL · 案例分析 · RDS MySQL线上实例insert慢常见原因分析-阿里云开发者社区...
- 信号与系统郭宝龙版 第二章 连续系统的时域分析 思维导图
- MIPS,程序的CPI,时钟周期计算(主频的计算)
- 网站APP信息以及用户数据泄露排查方案
- 笑话:如果你在河边等待得足够久,你会看到你的敌人的尸体漂过,是怎么翻译出来的?
- 宁宛 机器人_全文阅读 .001 忠犬机器人
- android 剪切板监听_Android剪贴板操作
- 基于Python的豆果网食谱数据爬取及可视化分析系统
- SolidWorks如何提取stp格式装配体中的零件图
热门文章
- sata接口_接口不同有啥区别?M.2和SATA接口SSD该选哪种?
- mysql多列索引用处_MySQL索引使用说明(单列索引和多列索引)
- css3.0动画,CSS3.0实现霓虹灯按钮动画特效的示例代码
- ajax提交form表单数据_[基础编程学习] [PHP7数组详解]:第2章 (1)从表单提交数据说起...
- android从放弃到精通 第12天 勿忘初心
- python 统计文件top IP
- xadmin 更改后台一级目录名称
- 记一次CPU占用率和load高的排查
- 2018 icpc 徐州现场赛G-树上差分+组合数学-大佬的代码
- Tomcat配置虚拟路径访问容器外的硬盘资源