爬取数据到mysql数据库存储数据

今天,我跟大家分享一波从爬取数据到mysql的数据存储。这次,我选择的案例网址是:https://news.sina.com.cn/(新浪新闻),我截取新闻其中一个小部分来爬取,来简单阐述怎么将爬取的数据存储到数据库中。
在这里插入图片描述
这是要爬取的内容,我只爬取标题和标题对应的链接。完整代码如下:

#encoding='utf-8'
#Author:Mr.Pan_学狂
#datetime:2020/10/30 1:44
#finish time:2020/10/30 1:44

from selenium import webdriver
from lxml import etree
import pymysql
import random
import time

def spyder():
    options = webdriver.ChromeOptions()#配置谷歌浏览器的配置
    options.add_argument('--headless')#开启无界面浏览模式
    options.add_argument('--disable-gpu')#关闭gpu,不显示。
    driver = webdriver.Chrome(options=options)#导入之前的配置
    url = 'https://news.sina.com.cn/'#案例网址
    driver.get(url)#发送get请求
    driver.implicitly_wait(random.randint(3,5))#随机等待网页响应
        # div_content = driver.find_element_by_xpath('//*[@id="blk_gnxw_011"]').text
        # print(div_content)
    for i in range(1,14):
        xpath_road = '//*[@id="blk_gnxw_011"]/li['+str(i)+']'#构造xpath路径
        xpath_road2 = xpath_road + '/a'
        content = driver.find_element_by_xpath(xpath_road).text#获取标题
        href = driver.find_element_by_xpath(xpath_road2).get_attribute('href')#获取标题的链接
        print(content+'链接是:')#打印输出
        print(href)
        title = "'" + content + "'"#引号嵌套
        Href = "'" + href + "'"#引号嵌套
        sql = "insert into data(标题,链接)values(" + title + ',' + Href + ");"#构造sql语句
        connect()#连接数据库,嵌套函数
        insert_or_update(sql)#插入数据
        time.sleep(random.randrange(2,6))#睡眠

def connect():#定义数据库连接
    return pymysql.connect(
        host='127.0.0.1',#主机号
        user='root',#用户
        password='123456',#数据库密码
        database='news',#数据库名
        port=3306,#端口号
        charset='utf8'#字符集
    )

def insert_or_update(sql):#定义数据库插入
    con = connect()#开启连接
    cursor = con.cursor()#获取游标
    cursor.execute(sql)#执行sql语句
    con.commit()#确认操作
    cursor.close()#关闭游标
    con.close()#关闭连接

if __name__=='__main__':#主函数,程序出口,执行函数。
    spyder()

对应的在MySQL数据库中执行的代码如下:
在这里插入图片描述
创建了名为news的数据库。
创建了名为data的表,里面有两个字段名,一个是标题,另一个是链接,并赋给数据存储的长度。

注意!!打开MySQL的服务,如下图:
在这里插入图片描述
最后,运行代码,结果如下图:
在这里插入图片描述
数据库中表data,打开如下图:
在这里插入图片描述
提示,若是数据库中没有数据库news,请先关闭连接,再打开即可刷新数据库。

使用SQL语句查询结果,如下图:
在这里插入图片描述
最后,感谢大家前来观看鄙人的文章,不胜感激,文中或有诸多不妥之处,还望指出和海涵。

  • 10
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不羁_神话

感谢支持,欢迎交流。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值