python3爬取数据至mysql的方法


Posted in Python onJune 26, 2018

本文实例为大家分享了python3爬取数据至mysql的具体代码,供大家参考,具体内容如下

直接贴代码

#!/usr/local/bin/python3.5 
# -*- coding:UTF-8 -*- 
from urllib.request import urlopen 
from bs4 import BeautifulSoup 
import re 
import datetime 
import random 
import pymysql 
 
connect = pymysql.connect(host='192.168.10.142', unix_socket='/tmp/mysql.sock', user='root', passwd='1234', db='scraping', charset='utf8') 
cursor = connect.cursor() 
cursor.execute('USE scraping') 
 
random.seed(datetime.datetime.now()) 
 
 
def store(title, content): 
 
  execute = cursor.execute("select * from pages WHERE `title` = %s", title) 
  if execute <= 0: 
    cursor.execute("insert into pages(`title`, `content`) VALUES(%s, %s)", (title, content)) 
    cursor.connection.commit() 
  else: 
    print('This content is already exist.') 
 
 
def get_links(acticle_url): 
  html = urlopen('http://en.wikipedia.org' + acticle_url) 
  soup = BeautifulSoup(html, 'html.parser') 
  title = soup.h1.get_text() 
  content = soup.find('div', {'id': 'mw-content-text'}).find('p').get_text() 
  store(title, content) 
  return soup.find('div', {'id': 'bodyContent'}).findAll('a', href=re.compile("^(/wiki/)(.)*$")) 
 
links = get_links('') 
 
try: 
  while len(links) > 0: 
    newActicle = links[random.randint(0, len(links) - 1)].attrs['href'] 
    links = get_links(newActicle) 
    print(links) 
finally: 
  cursor.close() 
  connect.close()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python装饰器入门学习教程(九步学习)
Jan 28 Python
PyQt5利用QPainter绘制各种图形的实例
Oct 19 Python
Python编程argparse入门浅析
Feb 07 Python
深入浅析python with语句简介
Apr 11 Python
Python爬虫抓取代理IP并检验可用性的实例
May 07 Python
关于python列表增加元素的三种操作方法
Aug 22 Python
windows下python安装小白入门教程
Sep 18 Python
django admin组件使用方法详解
Jul 19 Python
Python垃圾回收机制三种实现方法
Apr 27 Python
哪种Python框架适合你?简单介绍几种主流Python框架
Aug 04 Python
PyTorch预训练Bert模型的示例
Nov 17 Python
五分钟学会怎么用python做一个简单的贪吃蛇
Jan 12 Python
python清除函数占用的内存方法
Jun 25 #Python
Python IDLE清空窗口的实例
Jun 25 #Python
Python设置在shell脚本中自动补全功能的方法
Jun 25 #Python
PyCharm代码整体缩进,反向缩进的方法
Jun 25 #Python
Python代码块批量添加Tab缩进的方法
Jun 25 #Python
对python中for、if、while的区别与比较方法
Jun 25 #Python
详解Django+Uwsgi+Nginx的生产环境部署
Jun 25 #Python
You might like
php empty函数判断mysql表单是否为空
2010/04/12 PHP
PHP gbk环境下json_dencode传送来的汉字
2012/11/13 PHP
浅析php中jsonp的跨域实例
2013/06/21 PHP
php 注册时输入信息验证器的实现详解
2013/07/05 PHP
ThinkPHP里用U方法调用js文件实例
2015/06/18 PHP
iOS10推送通知开发教程
2016/09/19 PHP
PHP截取发动短信内容的方法
2017/07/04 PHP
thinkphp 5框架实现登陆,登出及session登陆状态检测功能示例
2019/10/10 PHP
Laravel5.1 框架控制器基础用法实例分析
2020/01/04 PHP
JQuery入门——用映射方式绑定不同事件应用示例
2013/02/05 Javascript
js转化毫秒为时间格式代码
2014/04/10 Javascript
排序算法的javascript实现与讲解(99js手记)
2014/09/28 Javascript
返回顶部按钮响应滚动且动态显示与隐藏
2014/10/14 Javascript
JS实现简单的键盘打字的效果
2015/04/24 Javascript
jQuery蓝色风格滑动导航栏代码分享
2015/08/19 Javascript
JavaScript开发Chrome浏览器扩展程序UI的教程
2016/05/16 Javascript
js 性能优化之算法和流程控制
2017/02/15 Javascript
NodeJS基础API搭建服务器详细过程记录
2017/04/01 NodeJs
vue工程全局设置ajax的等待动效的方法
2019/02/22 Javascript
使用 Angular RouteReuseStrategy 缓存(路由)组件的实例代码
2019/11/01 Javascript
JavaScript实现公告栏上下滚动效果
2020/03/13 Javascript
js实现前端界面导航栏下拉列表
2020/08/27 Javascript
[57:36]DOTA2-DPC中国联赛 正赛 SAG vs CDEC BO3 第三场 2月1日
2021/03/11 DOTA
使用requests库制作Python爬虫
2018/03/25 Python
Python使用re模块实现信息筛选的方法
2018/04/29 Python
python、Matlab求定积分的实现
2019/11/20 Python
详解python 中in 的 用法
2019/12/12 Python
Django-xadmin+rule对象级权限的实现方式
2020/03/30 Python
详解快速开发基于 HTML5 网络拓扑图应用
2018/01/08 HTML / CSS
香港通票:Hong Kong Pass
2019/02/26 全球购物
什么是.net的Remoting技术
2016/07/08 面试题
如何在.net Winform里面显示PDF文档
2012/09/11 面试题
护士个人自我鉴定
2014/03/24 职场文书
面试自我评价范文
2014/09/17 职场文书
婚礼家长致辞
2015/07/27 职场文书
低版本Druid连接池+MySQL驱动8.0导致线程阻塞、性能受限
2021/07/01 MySQL