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数据结构之二叉树的遍历实例
Apr 29 Python
python用Pygal如何生成漂亮的SVG图像详解
Feb 10 Python
Python动刷新抢12306火车票的代码(附源码)
Jan 24 Python
python3模块smtplib实现发送邮件功能
May 22 Python
python地震数据可视化详解
Jun 18 Python
python构建指数平滑预测模型示例
Nov 21 Python
Python字符串split及rsplit方法原理详解
Jun 29 Python
Django Form设置文本框为readonly操作
Jul 03 Python
python使用selenium爬虫知乎的方法示例
Oct 28 Python
Python xlwings插入Excel图片的实现方法
Feb 26 Python
Matplotlib绘制混淆矩阵的实现
May 27 Python
Python 中的Sympy详细使用
Aug 07 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加密解密类代码
2011/11/27 PHP
解析PHP留言本模块主要功能的函数说明(代码可实现)
2013/06/25 PHP
php在linux下检测mysql同步状态的方法
2015/01/15 PHP
php实现的美国50个州选择列表实例
2015/04/20 PHP
详解php用curl调用接口方法,get和post两种方式
2017/01/13 PHP
PHP获取当前URL路径的处理方法(适用于多条件筛选列表)
2017/02/10 PHP
jquery isEmptyObject判断是否为空对象的函数
2011/02/14 Javascript
基于jQuery的弹出框插件
2012/03/18 Javascript
jQuery中filter()和find()的区别深入了解
2013/09/25 Javascript
jquery垂直公告滚动实现代码
2013/12/08 Javascript
javascript实现信息增删改查的方法
2015/07/25 Javascript
ClearTimeout消除闪动实例代码
2016/02/29 Javascript
js添加千分位的实现代码(超简单)
2016/08/01 Javascript
微信小程序 HTTPS报错整理常见问题及解决方案
2016/12/14 Javascript
10分钟彻底搞懂Http的强制缓存和协商缓存(小结)
2018/08/30 Javascript
解决angular2在双向数据绑定时[(ngModel)]无法使用的问题
2018/09/13 Javascript
使用Angular 6创建各种动画效果的方法
2018/10/10 Javascript
jQuery实现动态生成年月日级联下拉列表示例
2019/05/11 jQuery
JavaScript代码异常监控实现过程详解
2020/02/17 Javascript
Vue实现背景更换颜色操作
2020/07/17 Javascript
如何在python中使用selenium的示例
2017/12/26 Python
Python封装成可带参数的EXE安装包实例
2019/08/24 Python
Django 实现对已存在的model进行更改
2020/03/28 Python
jupyter notebook oepncv 显示一张图像的实现
2020/04/24 Python
在python中使用pyspark读写Hive数据操作
2020/06/06 Python
python ETL工具 pyetl
2020/06/07 Python
django前端页面下拉选择框默认值设置方式
2020/08/09 Python
基于CSS3的animation属性实现微信拍一拍动画效果
2020/06/22 HTML / CSS
存储过程和函数的区别
2013/05/28 面试题
百度吧主申请感言
2014/01/12 职场文书
大课间活动制度
2014/01/18 职场文书
建筑总经理岗位职责
2014/02/02 职场文书
开工典礼策划方案
2014/05/23 职场文书
体育专业自荐书
2014/05/29 职场文书
社区端午节活动总结
2015/02/11 职场文书
让生命充满爱观后感
2015/06/08 职场文书