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中的标识运算符
May 14 Python
Python实现求最大公约数及判断素数的方法
May 26 Python
Python 的描述符 descriptor详解
Feb 27 Python
简单讲解Python中的数字类型及基本的数学计算
Mar 11 Python
Python数据分析之双色球基于线性回归算法预测下期中奖结果示例
Feb 08 Python
详解TensorFlow在windows上安装与简单示例
Mar 05 Python
python实现学员管理系统
Feb 26 Python
Python实现的调用C语言函数功能简单实例
Mar 13 Python
python数组循环处理方法
Aug 26 Python
Python bytes string相互转换过程解析
Mar 05 Python
Django Admin设置应用程序及模型顺序方法详解
Apr 01 Python
python中K-means算法基础知识点
Jan 25 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
window+nginx+php环境配置 附配置搭配说明
2010/12/29 PHP
php实现文件下载代码分享
2014/08/19 PHP
smarty模板引擎之内建函数用法
2015/03/30 PHP
PHPStorm+XDebug进行调试图文教程
2016/06/13 PHP
PHP4和PHP5版本下解析XML文档的操作方法实例分析
2017/05/20 PHP
php处理多图上传压缩代码功能
2018/06/13 PHP
不错的一个日期输入 动态
2006/11/06 Javascript
jQuery 浮动导航菜单适合购物商品类型的网站
2014/09/09 Javascript
jQuery实现仿百度帖吧头部固定导航效果
2015/08/07 Javascript
使用jquery+CSS3实现仿windows10开始菜单的下拉导航菜单特效
2015/09/24 Javascript
javascript跨域总结之window.name实现的跨域数据传输
2015/11/01 Javascript
js的各种排序算法实现(总结)
2016/07/23 Javascript
nodejs实现发出蜂鸣声音(系统报警声)的方法
2017/01/18 NodeJs
深入理解JavaScript中的for循环
2017/02/07 Javascript
JavaScript函数参数的传递方式详解
2017/03/06 Javascript
微信小程序实现给嵌套template模板传递数据的方式总结
2017/12/18 Javascript
如何利用JavaScript编写一个格斗小游戏
2021/01/06 Javascript
python赋值操作方法分享
2013/03/23 Python
Python随机生成均匀分布在单位圆内的点代码示例
2017/11/13 Python
python下的opencv画矩形和文字注释的实现方法
2019/07/09 Python
Python及Pycharm安装方法图文教程
2019/08/05 Python
matplotlib绘制多个子图(subplot)的方法
2019/12/03 Python
pytorch:实现简单的GAN示例(MNIST数据集)
2020/01/10 Python
编写python代码实现简单抽奖器
2020/10/20 Python
python语言实现贪吃蛇游戏
2020/11/13 Python
使用Python爬虫爬取小红书完完整整的全过程
2021/01/19 Python
CSS3 animation实现逐帧动画效果
2016/06/02 HTML / CSS
html5响应式开发自动计算fontSize的方法
2020/01/13 HTML / CSS
澳大利亚冒险体验:Adrenaline(跳伞、V8赛车、热气球等)
2017/09/18 全球购物
联想阿根廷官方网站:Lenovo Argentina
2019/10/14 全球购物
如何高效率的查找一个月以内的数据
2012/04/15 面试题
装饰资料员岗位职责
2013/12/30 职场文书
社区工作感言
2014/02/21 职场文书
高中生操行评语
2014/04/25 职场文书
2015年团支部年度工作总结
2015/05/27 职场文书
HTML页面中使两个div并排显示的实现
2022/05/15 HTML / CSS