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实现从脚本里运行scrapy的方法
Apr 07 Python
python使用post提交数据到远程url的方法
Apr 29 Python
Windows下使Python2.x版本的解释器与3.x共存的方法
Oct 25 Python
Python的装饰器用法学习笔记
Jun 24 Python
微信公众号token验证失败解决方案
Jul 22 Python
python支付宝支付示例详解
Aug 22 Python
python 中不同包 类 方法 之间的调用详解
Mar 09 Python
Anaconda配置pytorch-gpu虚拟环境的图文教程
Apr 16 Python
python将logging模块封装成单独模块并实现动态切换Level方式
May 12 Python
使用Keras构造简单的CNN网络实例
Jun 29 Python
Pytorch 卷积中的 Input Shape用法
Jun 29 Python
Python 图片处理库exifread详解
Feb 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
linux php mysql数据库备份实现代码
2009/03/10 PHP
用PHP实现读取和编写XML DOM代码
2010/04/07 PHP
解析php中eclipse 用空格替换 tab键
2013/06/24 PHP
实例讲解PHP面向对象之多态
2014/08/20 PHP
Zend Framework教程之MVC框架的Controller用法分析
2016/03/07 PHP
laravel-admin解决表单select联动时,编辑默认没选上的问题
2019/09/30 PHP
jQuery中slideUp()方法用法分析
2014/12/24 Javascript
JS中字符串trim()使用示例
2015/05/26 Javascript
JavaScript实现简单获取当前网页网址的方法
2015/11/09 Javascript
Knockout自定义绑定创建方法
2015/12/26 Javascript
javascript基础知识
2016/06/07 Javascript
文本框只能输入数字的js代码(含小数点)
2016/07/10 Javascript
jQuery绑定事件的四种方式介绍
2016/10/31 Javascript
Vue列表页渲染优化详解
2017/07/24 Javascript
vue绑定事件后获取绑定事件中的this方法
2018/09/15 Javascript
vue+Vue Router多级侧导航切换路由(页面)的实现代码
2018/12/20 Javascript
nuxt中使用路由守卫的方法步骤
2019/01/27 Javascript
在NPM发布自己造的轮子的方法步骤
2019/03/09 Javascript
ZK中使用JS读取客户端txt文件内容问题
2019/11/07 Javascript
JS实现贪吃蛇游戏
2019/11/15 Javascript
JS中==、===你分清楚了吗
2020/03/04 Javascript
[33:28]完美世界DOTA2联赛PWL S3 PXG vs GXR 第三场 12.19
2020/12/24 DOTA
Python使用random.shuffle()打乱列表顺序的方法
2018/11/08 Python
设置jupyter中DataFrame的显示限制方式
2020/04/12 Python
tensorflow中tf.reduce_mean函数的使用
2020/04/19 Python
Python+unittest+requests 接口自动化测试框架搭建教程
2020/10/09 Python
python 牛顿法实现逻辑回归(Logistic Regression)
2020/10/15 Python
专门出售各种儿童读物的网站:Put Me In The Story
2016/08/07 全球购物
Camille Jewelry官网:现代女性时尚首饰
2019/07/07 全球购物
Ibatis中如何提高SQL Map的性能
2013/05/11 面试题
华为慧通面试题
2012/09/11 面试题
大学生村官工作感言
2014/01/10 职场文书
就业推荐表自我评价范文
2015/03/02 职场文书
2016猴年春节慰问信
2015/11/30 职场文书
Redis数据结构之链表与字典的使用
2021/05/11 Redis
Python中的socket网络模块介绍
2022/07/23 Python