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)和列表(list)的排序方法实例
Jun 16 Python
python实现的文件夹清理程序分享
Nov 22 Python
分享一下Python 开发者节省时间的10个方法
Oct 02 Python
python中yaml配置文件模块的使用详解
Apr 27 Python
Python嵌套列表转一维的方法(压平嵌套列表)
Jul 03 Python
Python实现针对json中某个关键字段进行排序操作示例
Dec 25 Python
python 处理微信对账单数据的实例代码
Jul 19 Python
解决Tensorflow 内存泄露问题
Feb 05 Python
python GUI库图形界面开发之PyQt5窗口背景与不规则窗口实例
Feb 25 Python
python 函数嵌套及多函数共同运行知识点讲解
Mar 03 Python
PyCharm常用配置和常用插件(小结)
Feb 06 Python
Python3+Django get/post请求实现教程详解
Feb 16 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中CURL的CURLOPT_POSTFIELDS参数使用细节
2014/03/17 PHP
PHP使用pcntl_fork实现多进程下载图片的方法
2014/12/16 PHP
php图像处理类实例
2015/07/28 PHP
不错的asp中显示新闻的功能
2006/10/13 Javascript
Javascript面向对象编程
2012/03/18 Javascript
JS中的substring和substr函数的区别说明
2013/05/07 Javascript
javascript实现跳转菜单的具体方法
2013/07/05 Javascript
javascript自定义startWith()和endWith()的两种方法
2013/11/11 Javascript
节点的插入之append()和appendTo()的用法介绍
2014/01/13 Javascript
JS实现距离上次刷新已过多少秒示例
2014/05/23 Javascript
JS与jQuery遍历Table所有单元格内容的方法
2015/12/07 Javascript
使用Jasmine和Karma对AngularJS页面程序进行测试
2016/03/05 Javascript
JS框架之vue.js(深入三:组件1)
2016/09/29 Javascript
JS取数字小数点后两位或n位的简单方法
2016/10/24 Javascript
巧用Vue.js+Vuex制作专门收藏微信公众号的app
2016/11/03 Javascript
angular-ui-sortable实现可拖拽排序列表
2016/12/28 Javascript
jQuery为DOM动态追加事件的方法
2017/02/16 Javascript
详解bootstrap用dropdown-menu实现上下文菜单
2017/09/22 Javascript
在vue中通过axios异步使用echarts的方法
2018/01/13 Javascript
微信小程序实现左右列表联动
2020/05/19 Javascript
vue-cli配置全局sass、less变量的方法
2019/06/06 Javascript
vue.js实现回到顶部动画效果
2019/07/31 Javascript
python通过正则查找微博@(at)用户的方法
2015/03/13 Python
Python中对元组和列表按条件进行排序的方法示例
2015/11/10 Python
Python加密方法小结【md5,base64,sha1】
2017/07/13 Python
python3+PyQt5实现文档打印功能
2018/04/24 Python
python写入已存在的excel数据实例
2018/05/03 Python
python实现字符串和字典的转换
2018/09/29 Python
关于python下cv.waitKey无响应的原因及解决方法
2019/01/10 Python
Python自定义一个异常类的方法
2019/06/27 Python
python实现在多维数组中挑选符合条件的全部元素
2019/11/26 Python
python定间隔取点(np.linspace)的实现
2019/11/27 Python
Tensorflow不支持AVX2指令集的解决方法
2020/02/03 Python
日本即尚网:JSHOPPERS.com(支持中文)
2019/12/03 全球购物
什么是"引用"?申明和使用"引用"要注意哪些问题?
2016/03/03 面试题
毕业赠语大全
2015/06/23 职场文书