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检测网页是否有日常链接
Jun 03 Python
Python中的闭包实例详解
Aug 29 Python
Python中使用items()方法返回字典元素对的教程
May 21 Python
python开发之IDEL(Python GUI)的使用方法图文详解
Nov 12 Python
Python实现进程同步和通信的方法
Jan 02 Python
Python装饰器原理与用法分析
Apr 30 Python
python 请求服务器的实现代码(http请求和https请求)
May 25 Python
python的命名规则知识点总结
Oct 04 Python
python实现批量修改文件名
Mar 23 Python
Python HTMLTestRunner可视化报告实现过程解析
Apr 10 Python
详解python 条件语句和while循环的实例代码
Dec 28 Python
Python 内存管理机制全面分析
Jan 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 面向对象 final类与final方法
2010/05/05 PHP
浅析php中json_encode()和json_decode()
2014/05/25 PHP
thinkphp中U方法按路由规则生成url的方法
2018/03/12 PHP
基于jQuery的消息提示插件 DivAlert之旅(二)
2010/04/01 Javascript
jQuery输入城市查看地图使用介绍
2013/05/08 Javascript
简单几行JS Code实现IE邮件转发新浪微博
2013/07/03 Javascript
jquery append 动态添加的元素事件on 不起作用的解决方案
2015/07/30 Javascript
js ajaxfileupload.js上传报错的解决方法
2016/05/05 Javascript
使用JS读取XML文件的方法
2016/11/25 Javascript
JS检测数组类型的方法小结
2017/03/14 Javascript
使用Xcache缓存器加速PHP网站的配置方法
2017/04/22 Javascript
JavaScrpt判断一个数是否是质数的实例代码
2017/06/11 Javascript
微信小程序开发中的疑问解答汇总
2017/07/03 Javascript
Angular实现响应式表单
2017/08/04 Javascript
关于JavaScript的单双引号嵌套问题
2017/08/20 Javascript
关于预加载InstantClick的问题解决方法
2017/09/12 Javascript
实现一个完整的Node.js RESTful API的示例
2017/09/29 Javascript
使用layer弹窗和layui表单实现新增功能
2018/08/09 Javascript
详解基于Vue的支持数据双向绑定的select组件
2019/09/02 Javascript
移动端手指操控左右滑动的菜单
2019/09/08 Javascript
使用layui的layer组件做弹出层的例子
2019/09/27 Javascript
微信小程序实现禁止分享代码实例
2019/10/19 Javascript
vue中axios防止多次触发终止多次请求的示例代码(防抖)
2020/02/16 Javascript
javascript设计模式 ? 命令模式原理与用法实例分析
2020/04/20 Javascript
微信小程序收藏功能的实现代码
2020/06/19 Javascript
利用python实现命令行有道词典的方法示例
2017/01/31 Python
Python实现爬虫爬取NBA数据功能示例
2018/05/28 Python
Python K最近邻从原理到实现的方法
2019/08/15 Python
Python 中使用 PyMySQL模块操作数据库的方法
2019/11/10 Python
python读取yaml文件后修改写入本地实例
2020/04/27 Python
美国畅销的跑步机品牌:ProForm
2017/02/06 全球购物
工业设计专业推荐信
2013/10/29 职场文书
社区党支部承诺书
2015/04/29 职场文书
骆驼祥子读书笔记
2015/06/26 职场文书
kubernetes集群搭建Zabbix监控平台的详细过程
2022/07/07 Servers
苹果macOS 13开发者预览版Beta 8发布 正式版10月发布
2022/09/23 数码科技