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中的try和finally和with方法
May 05 Python
Windows下使Python2.x版本的解释器与3.x共存的方法
Oct 25 Python
Python实现自动登录百度空间的方法
Jun 10 Python
解决python3在anaconda下安装caffe失败的问题
Jun 15 Python
解决vscode python print 输出窗口中文乱码的问题
Dec 03 Python
Python多进程fork()函数详解
Feb 22 Python
Python 函数list&amp;read&amp;seek详解
Aug 28 Python
使用Python脚本zabbix自定义key监控oracle连接状态
Aug 28 Python
使用python实现离散时间傅里叶变换的方法
Sep 02 Python
python函数不定长参数使用方法解析
Dec 14 Python
简单了解pytest测试框架setup和tearDown
Apr 14 Python
python基于win32api实现键盘输入
Dec 09 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实现xml与json之间的相互转换功能实例
2016/07/07 PHP
php fseek函数读取大文件两种方法
2016/10/12 PHP
利用php + Laravel如何实现部署自动化详解
2017/10/11 PHP
PHP与以太坊交互详解
2018/08/24 PHP
设置下载不需要倒计时cookie(倒计时代码)
2008/11/19 Javascript
IE和Firefox下javascript的兼容写法小结
2008/12/10 Javascript
javascript开发中因空格引发的错误
2010/11/08 Javascript
JS合并数组的几种方法及优劣比较
2014/09/19 Javascript
Bootstrap表单布局样式源代码
2016/07/04 Javascript
第一次接触神奇的前端框架vue.js
2016/12/01 Javascript
js实现导航吸顶效果
2017/02/24 Javascript
基于JavaScript实现滑动门效果
2017/03/16 Javascript
js实现一个简单的数字时钟效果
2017/03/29 Javascript
详解angular element()方法使用
2017/04/08 Javascript
JS鼠标3次点击事件实现代码及扩展思路
2017/09/12 Javascript
vuejs 制作背景淡入淡出切换动画的实例
2018/09/01 Javascript
简述vue路由打开一个新的窗口的方法
2018/11/29 Javascript
Vuex中实现数据状态查询与更改
2019/11/08 Javascript
Python中字典的基础知识归纳小结
2015/08/19 Python
Python松散正则表达式用法分析
2016/04/29 Python
Python快速从注释生成文档的方法
2016/12/26 Python
Python GUI布局尺寸适配方法
2018/10/11 Python
Python 分发包中添加额外文件的方法
2019/08/16 Python
pycharm下pyqt4安装及环境配置的教程
2020/04/24 Python
PyTorch-GPU加速实例
2020/06/23 Python
详解CSS3浏览器兼容
2016/12/14 HTML / CSS
西班牙灯具网上商店:Lampara.es
2018/06/05 全球购物
39美元购买一副眼镜或太阳镜:39DollarGlasses.com
2018/06/17 全球购物
机电专业体育教师求职信
2013/09/21 职场文书
2014的自我评价
2014/01/13 职场文书
企业年会主持词
2014/03/27 职场文书
电气自动化求职信
2014/06/24 职场文书
高中生第一学年自我鉴定
2014/09/12 职场文书
小学生自我评价100字(15篇)
2014/09/18 职场文书
2016年班主任新年寄语
2015/08/18 职场文书
浅谈Redis主从复制以及主从复制原理
2021/05/29 Redis