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实现dict版图遍历示例
Feb 19 Python
Python实现读写INI配置文件的方法示例
Jun 09 Python
彻彻底底地理解Python中的编码问题
Oct 15 Python
pyqt5移动鼠标显示坐标的方法
Jun 21 Python
Python3 执行系统命令并获取实时回显功能
Jul 09 Python
python 图片二值化处理(处理后为纯黑白的图片)
Nov 01 Python
TensorFlow 读取CSV数据的实例
Feb 05 Python
Django框架获取form表单数据方式总结
Apr 22 Python
如何利用pygame实现打飞机小游戏
May 30 Python
详解Python内置模块Collections
Mar 22 Python
Python用tkinter实现自定义记事本的方法详解
Mar 31 Python
Python find()、rfind()方法及作用
Dec 24 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 生成唯一id的几种解决方法
2013/03/08 PHP
CodeIgniter实现更改view文件夹路径的方法
2014/07/04 PHP
PHP爬虫之百万级别知乎用户数据爬取与分析
2016/01/22 PHP
PHP命名空间和自动加载类
2016/04/03 PHP
解决yii2左侧菜单子级无法高亮问题的方法
2016/05/08 PHP
CodeIgniter集成smarty的方法详解
2016/05/26 PHP
php设计模式之策略模式实例分析【星际争霸游戏案例】
2020/03/26 PHP
JQuery操作Select的Options的Bug(IE8兼容性视图模式)
2013/04/21 Javascript
js+css实现增加表单可用性之提示文字
2013/06/03 Javascript
JS 仿腾讯发表微博的效果代码
2013/12/25 Javascript
jquery中对于批量deferred的处理方法
2014/01/22 Javascript
jQuery中:submit选择器用法实例
2015/01/03 Javascript
JavaScript 基本概念
2015/01/20 Javascript
JQuery动画与特效实例分析
2015/02/02 Javascript
JS实现简易图片轮播效果的方法
2015/03/25 Javascript
js实现的彩色方块飞舞奇幻效果
2016/01/27 Javascript
巧方法 JavaScript获取超链接的绝对URL地址
2016/06/14 Javascript
使用jQuery Ajax 请求webservice来实现更简练的Ajax
2016/08/04 Javascript
React实现全局组件的Toast轻提示效果
2018/09/21 Javascript
vue-cli3.X快速创建项目的方法步骤
2019/11/14 Javascript
记录微信小程序 height: calc(xx - xx);无效问题
2019/12/30 Javascript
分享一个常用的Python模拟登陆类
2015/03/29 Python
Linux系统(CentOS)下python2.7.10安装
2018/09/26 Python
在pycharm上mongodb配置及可视化设置方法
2018/11/30 Python
对Python模块导入时全局变量__all__的作用详解
2019/01/11 Python
Python3删除排序数组中重复项的方法分析
2019/01/31 Python
用Python获取摄像头并实时控制人脸的实现示例
2019/07/11 Python
如何为Python终端提供持久性历史记录
2019/09/03 Python
python中count函数简单用法
2020/01/05 Python
tensorboard显示空白的解决
2020/02/15 Python
Pycharm中配置远程Docker运行环境的教程图解
2020/06/11 Python
python和php哪个更适合写爬虫
2020/06/22 Python
100%有机精油,美容油:House of Pure Essence
2018/10/30 全球购物
德国帽子专家:Hutshopping
2019/11/03 全球购物
企业管理毕业生求职信
2014/03/11 职场文书
幼儿园儿童节主持词
2014/03/21 职场文书