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的内存泄漏及gc模块的使用分析
Jul 16 Python
查看Python安装路径以及安装包路径小技巧
Apr 28 Python
python 写的一个爬虫程序源码
Feb 28 Python
Python3中内置类型bytes和str用法及byte和string之间各种编码转换 问题
Sep 27 Python
解决pycharm 误删掉项目文件的处理方法
Oct 22 Python
python3安装crypto出错及解决方法
Jul 30 Python
python3.6中@property装饰器的使用方法示例
Aug 17 Python
python爬虫把url链接编码成gbk2312格式过程解析
Jun 08 Python
matplotlib基础绘图命令之imshow的使用
Aug 13 Python
Python GUI库Tkiner使用方法代码示例
Nov 27 Python
Python 带星号(* 或 **)的函数参数详解
Feb 23 Python
python 经纬度求两点距离、三点面积操作
Jun 03 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产生不重复随机数的5个方法总结
2014/11/12 PHP
PHP中使用数组指针函数操作数组示例
2014/11/19 PHP
php以fastCGI的方式运行时文件系统权限问题及解决方法
2015/05/11 PHP
php数组索引与键值操作技巧实例分析
2015/06/24 PHP
thinkphp命名空间用法实例详解
2015/12/30 PHP
PHP合并数组的2种方法小结
2016/11/24 PHP
Zend Framework入门教程之Zend_Registry组件用法详解
2016/12/09 PHP
详谈php中 strtr 和 str_replace 的效率问题
2017/05/14 PHP
PHP文件系统管理(实例讲解)
2017/09/19 PHP
单击复制文字兼容各浏览器的完美解决方案
2013/07/04 Javascript
JQuery中的事件及动画用法实例
2015/01/26 Javascript
jQuery使用removeClass方法删除元素指定Class的方法
2015/03/26 Javascript
BootStrap中
2016/12/10 Javascript
微信小程序 PHP后端form表单提交实例详解
2017/01/12 Javascript
ReactNative页面跳转Navigator实现的示例代码
2017/08/02 Javascript
基于jQuery的$.getScript方法去加载javaScript文档解析
2017/11/08 jQuery
Vue.js 点击按钮显示/隐藏内容的实例代码
2018/02/08 Javascript
微信小程序如何实现五星评价功能
2019/10/15 Javascript
JavaScript实现多个物体同时运动
2020/03/12 Javascript
解决idea开发遇到javascript动态添加html元素时中文乱码的问题
2020/09/29 Javascript
基于javascript实现放大镜特效
2020/12/03 Javascript
Python中__init__和__new__的区别详解
2014/07/09 Python
以911新闻为例演示Python实现数据可视化的教程
2015/04/23 Python
python 成功引入包但无法正常调用的解决
2020/03/09 Python
Django用数据库表反向生成models类知识点详解
2020/03/25 Python
PyCharm中配置PySide2的图文教程
2020/06/18 Python
python 常见的反爬虫策略
2020/09/27 Python
自荐信的两点禁忌
2013/10/30 职场文书
关于幼儿的自我评价
2013/12/18 职场文书
财务管理专业自荐信范文
2013/12/24 职场文书
管理心得体会
2013/12/28 职场文书
2014三八妇女节活动总结范文四篇
2014/03/09 职场文书
2014年节能减排工作总结
2014/12/06 职场文书
2014年妇幼保健工作总结
2014/12/08 职场文书
业务员岗位职责范本
2015/04/03 职场文书
整理Python中常用的conda命令操作
2021/06/15 Python