使用python3怎么爬取数据至mysql?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
1、简单易用,与C/C++、Java、C# 等传统语言相比,Python对代码格式的要求没有那么严格;2、Python属于开源的,所有人都可以看到源代码,并且可以被移植在许多平台上使用;3、Python面向对象,能够支持面向过程编程,也支持面向对象编程;4、Python是一种解释性语言,Python写的程序不需要编译成二进制代码,可以直接从源代码运行程序;5、Python功能强大,拥有的模块众多,基本能够实现所有的常见功能。
#!/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.h2.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()
关于使用python3怎么爬取数据至mysql问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注亿速云行业资讯频道了解更多相关知识。
亿速云「云数据库 MySQL」免部署即开即用,比自行安装部署数据库高出1倍以上的性能,双节点冗余防止单节点故障,数据自动定期备份随时恢复。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。