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 相关文章推荐
利用soaplib搭建webservice详细步骤和实例代码
Nov 20 Python
python发送HTTP请求的方法小结
Jul 08 Python
numpy添加新的维度:newaxis的方法
Aug 02 Python
对django2.0 关联表的必填on_delete参数的含义解析
Aug 09 Python
对python while循环和双重循环的实例详解
Aug 23 Python
安装2019Pycharm最新版本的教程详解
Oct 22 Python
django中的数据库迁移的实现
Mar 16 Python
Python脚本破解压缩文件口令实例教程(zipfile)
Jun 14 Python
Django-simple-captcha验证码包使用方法详解
Nov 28 Python
解决python3.6用cx_Oracle库连接Oracle的问题
Dec 07 Python
python性能测试工具locust的使用
Dec 28 Python
详解Golang如何实现支持随机删除元素的堆
Sep 23 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设计模式 php实现访问者模式(Visitor)
2015/12/07 PHP
Laravel与CI框架中截取字符串函数
2016/05/08 PHP
PHP开发制作一个简单的活动日程表Calendar
2016/06/20 PHP
关于Yii2框架跑脚本时内存泄漏问题的分析与解决
2019/12/01 PHP
网络图片延迟加载实现代码 超越jquery控件
2010/03/27 Javascript
onsubmit阻止form表单提交与onclick的相关操作
2010/09/03 Javascript
javascript获取网页中指定节点的父节点、子节点的方法小结
2013/04/24 Javascript
jquery图片不完全按比例自动缩小的简单代码
2013/07/29 Javascript
js实现通用的微信分享组件示例
2014/03/10 Javascript
与Math.pow 相反的函数使用介绍
2014/08/04 Javascript
node.js中的fs.writeFile方法使用说明
2014/12/14 Javascript
PHP配置文件php.ini中打开错误报告的设置方法
2015/01/09 PHP
jQuery简单实现页面元素置顶时悬浮效果示例
2016/08/01 Javascript
前端程序员必须知道的高性能Javascript知识
2016/08/24 Javascript
jQuery实现简单的计时器功能实例分析
2017/08/29 jQuery
Vue v2.5 调整和更新不完全问题
2017/10/24 Javascript
通过vue提供的keep-alive减少对服务器的请求次数
2018/04/01 Javascript
Vue中android4.4不兼容问题的解决方法
2018/09/04 Javascript
vue-cli项目代理proxyTable配置exclude的方法
2018/09/20 Javascript
JS二级菜单不同实现方法分析【4种方法】
2018/12/21 Javascript
JavaScript实现更换背景图片
2019/10/18 Javascript
[02:36]DOTA2英雄基础教程 帕格纳
2014/01/20 DOTA
python的正则表达式re模块的常用方法
2013/03/09 Python
Python实现简单拆分PDF文件的方法
2015/07/30 Python
浅述python中argsort()函数的实例用法
2017/03/30 Python
Python绘制频率分布直方图的示例
2019/07/08 Python
Django用数据库表反向生成models类知识点详解
2020/03/25 Python
国际领先的学术出版商:Springer
2017/01/11 全球购物
Farfetch美国:奢侈品牌时尚购物平台
2019/05/02 全球购物
如何判断计算机可能已经中马
2013/03/22 面试题
实习生的自我评价
2014/01/08 职场文书
2014年社区庆元旦活动方案
2014/03/08 职场文书
商业计算机应用专业自荐书
2014/06/09 职场文书
个人三严三实对照检查材料思想汇报
2014/09/22 职场文书
浅谈mysql返回Boolean类型的几种情况
2021/06/04 MySQL
大型强子对撞机再次重启探索“第五种自然力”
2022/04/29 数码科技