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实现对百度云的文件上传(实例讲解)
Oct 21 Python
python中PS 图像调整算法原理之亮度调整
Jun 28 Python
python3.6 如何将list存入txt后再读出list的方法
Jul 02 Python
PyTorch: 梯度下降及反向传播的实例详解
Aug 20 Python
Python制作词云图代码实例
Sep 09 Python
python实现局域网内实时通信代码
Dec 22 Python
python实现简单飞行棋
Feb 06 Python
python3利用Axes3D库画3D模型图
Mar 25 Python
Python matplotlib可视化实例解析
Jun 01 Python
vscode+PyQt5安装详解步骤
Aug 12 Python
Pycharm Plugins加载失败问题解决方案
Nov 28 Python
Python学习之时间包使用教程详解
Mar 21 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无限分类的类
2007/01/02 PHP
PHP 事务处理数据实现代码
2010/05/13 PHP
PHP array_multisort()函数的使用札记
2011/07/03 PHP
JS随机生成不重复数据的实例方法
2013/07/17 Javascript
jquery复选框全选/取消示例
2013/12/30 Javascript
js实现选中页面文字将其分享到新浪微博
2015/11/05 Javascript
jquery的checkbox,radio,select等方法小结
2016/08/30 Javascript
JS变量及其作用域
2017/03/29 Javascript
用react-redux实现react组件之间数据共享的方法
2018/06/08 Javascript
vue异步加载高德地图的实现
2018/06/19 Javascript
jQuery实现轮播图及其原理详解
2020/04/12 jQuery
Vue.set()动态的新增与修改数据,触发视图更新的方法
2018/09/15 Javascript
微信小程序签到功能
2018/10/31 Javascript
JS实现购物车基本功能
2020/11/08 Javascript
[37:45]完美世界DOTA2联赛PWL S3 LBZS vs Phoenix 第二场 12.09
2020/12/11 DOTA
python切换hosts文件代码示例
2013/12/31 Python
Python 字典dict使用介绍
2014/11/30 Python
在Python中使用M2Crypto模块实现AES加密的教程
2015/04/08 Python
python基础教程之while循环
2019/08/14 Python
pytorch打印网络结构的实例
2019/08/19 Python
python生成器/yield协程/gevent写简单的图片下载器功能示例
2019/10/28 Python
tensorflow 限制显存大小的实现
2020/02/03 Python
Python获取对象属性的几种方式小结
2020/03/12 Python
python中shell执行知识点
2020/05/06 Python
Django之全局使用request.user.username的实例详解
2020/05/14 Python
uniapp+Html5端实现PC端适配
2020/07/15 HTML / CSS
什么是跨站脚本攻击
2014/12/11 面试题
幼儿园教师辞职信
2014/01/18 职场文书
党员民主评议自我评价
2014/10/20 职场文书
销售会议开幕词
2015/01/28 职场文书
技术员个人工作总结
2015/03/03 职场文书
中国式结婚:司仪主持词(范文)
2019/07/25 职场文书
创业计划书之个人工作室
2019/08/22 职场文书
中秋节英文祝福语句(14句)
2019/09/11 职场文书
一篇文章带你深入了解Mysql触发器
2021/08/02 MySQL
python中if和elif的区别介绍
2021/11/07 Python